我的休息服务器使用Spring时出现了一个奇怪的问题。在其他问题上我没有找到解决问题的方法。
一切正常,我有多个映射到不同的控制器方法,它们都工作。我创建了一个新的映射到另一个URI,我无法使其工作,我总是在尝试访问时发现404未找到错误。
以下是我的一些代码:
Restcontroller:
@RequestMapping(value = "/addToken/{token}/imei/{imei}", method = RequestMethod.POST)
public boolean setUserToken(@PathVariable("token") String token, @PathVariable("imei") String imei) {
boolean result = false;
try {
result = DbConnector.setToken(imei,token);
} catch (Exception e) {
System.out.println("Couldn't set token to database");
}
return result;
}
这是不起作用的方法,我不知道为什么,当我调用base_url / addToken时,我没有得到任何错误,但是当我在它之后添加任何内容时,我得到404错误。
Web.xml中:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>SpringServiceSample</display-name>
<servlet>
<servlet-name>rest</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>rest</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
其余-servlet.xml中
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<context:component-scan base-package="controllers" /> <!-- Spring auto scans all elements in base package and all its child packages for Controller servlet -->
<!-- <mvc:annotation-driven> -->
<!-- <mvc:message-converters> -->
<!-- <bean class="org.springframework.http.converter.StringHttpMessageConverter"/> -->
<!-- <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/> -->
<!-- </mvc:message-converters> -->
<!-- </mvc:annotation-driven> -->
<mvc:annotation-driven />
</beans>
提前感谢您的帮助。
答案 0 :(得分:0)
setUserToken方法仅用于发布请求。您需要提交带有发布请求的表单到此URL或更改
@RequestMapping(value = "/addToken/{token}/imei/{imei}", method = RequestMethod.GET)