Java 没有MVC的restful服务

Java 没有MVC的restful服务,java,spring,rest,http,action-mapping,Java,Spring,Rest,Http,Action Mapping,我想创建一个Restful服务,但当我尝试url“http..:8080/appanalyticx web/requirementservice/saverequirements”时,它不起作用 Myservice: @Path("/requirementservice") @Service("dimRequirementManager") public class DimRequirementManagerImpl extends GenericManagerImpl<DimRequir

我想创建一个Restful服务,但当我尝试url“http..:8080/appanalyticx web/requirementservice/saverequirements”时,它不起作用

Myservice:

@Path("/requirementservice")
@Service("dimRequirementManager")
public class DimRequirementManagerImpl extends GenericManagerImpl<DimRequirement, Long> implements DimRequirementManager {
    DimRequirementDao dimRequirementDao;

    @Autowired
    public DimRequirementManagerImpl(DimRequirementDao dimRequirementDao) {
        super(dimRequirementDao);
        this.dimRequirementDao = dimRequirementDao;
    }
    @PUT
    @Path("/saverequirements")
    @Consumes("application/json")
    @Override
    public void saveAllDimRequirements(List<DimRequirement> requirementList) {
        dimRequirementDao.saveAllDimRequirements(requirementList);

    }
}

您必须有一个servlet,否则
@Path
注释将不起任何作用。
saveAllDimRequirements
方法中,您必须使用put,因为您有
@put
注释。

当然您需要一个servlet。你认为映射
@Path
注释应该是什么?在despacher servlet的帮助下,我可以从客户端访问该服务吗?因此我的URL将是http..:8080/project/Dispacher servletURL/requirementservice/SaveRequirements我建议你自己试试看。dispatcher org.springframework.web.servlet.Dispatchers servlet contextConfigLocation 2 dispatcher/restServices/*我添加了servlet我可以使用的确切url是什么?很可能类似于:
http://:8080//restServices/requirementservice/saverequirements
如果您遇到问题,我会建议您首先将
@PUT
更改为
@GET
,并删除
@消费(“应用程序/json”)
。通过浏览器浏览到此url(代码中有断点),并查看它是否到达。如果是这样,您可以返回到
@PUT
application/json
hi-Avi,我仍然会收到在处理请求期间发生的相同错误异常:与上下文路径[/appanalytix web]关联的命名空间[/]和操作名称[restServices/requirementservice/saverequirements]没有映射任何操作
<servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
         <param-name>contextConfigLocation</param-name>  
         <param-value></param-value>  
        </init-param>
        <load-on-startup>2</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/restServices/*</url-pattern>
    </servlet-mapping>
 ERROR [tomcat-http--17] Dispatcher.error(38) | Exception occurred during processing request: There is no Action mapped for namespace [/] and action name [restServices/requirementservice/saverequirements] associated with context path [/appanalytix-web].
There is no Action mapped for namespace [/] and action name [restServices/requirementservice/saverequirements] associated with context path [/appanalytix-web]. - [unknown location]
    at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185)
    at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)
    at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
    at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
    at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:534)
    at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
    at org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter.doFilter(StrutsExecuteFilter.java:88)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
    at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:82)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at com.vxl.appanalytix.webapp.filter.RequestAuthentication.doFilter(RequestAuthentication.java:53)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)