Spring mvc 请求映射POST,但放置映射
我正在开发一个SpringMVC应用程序,前面是angularjs。 我有一个简单的rest服务,使用post方法进行用户注册(电子邮件)。 当我在tomcat 7上启动应用程序时,控制台上有一行代码:Spring mvc 请求映射POST,但放置映射,spring-mvc,angularjs,Spring Mvc,Angularjs,我正在开发一个SpringMVC应用程序,前面是angularjs。 我有一个简单的rest服务,使用post方法进行用户注册(电子邮件)。 当我在tomcat 7上启动应用程序时,控制台上有一行代码: INFO: Mapped "{[/mail/registration],methods=[PUT],params=[],headers=[],consumes=[],produces=[application/json],custom=[]}" onto public void com.xtap
INFO: Mapped "{[/mail/registration],methods=[PUT],params=[],headers=[],consumes=[],produces=[application/json],custom=[]}" onto public void com.xtapps.schoolme.controllers.HomeController.emailReception(java.lang.String)
我的代码:
@Controller
public class HomeController {
@RequestMapping(value = "/mail/registration", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody void emailReception(@RequestBody String email) {
prepareAndSendMail(email);
}
My web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>Spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Spring</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
<filter>
<filter-name>httpPutFormFilter</filter-name>
<filter-class>org.springframework.web.filter.HttpPutFormContentFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>httpPutFormFilter</filter-name>
<servlet-name>Spring</servlet-name>
</filter-mapping>
<welcome-file-list>
<welcome-file>/index.html</welcome-file>
</welcome-file-list>
或者像这样(一样):
我有一个警告:
WARNING: Request method 'POST' not supported
你知道这个问题吗
提前谢谢日志条目说它映射了PUT方法。但是您的代码显示请求方法是POST。不计算!是的,但为什么映射到put方法?我只有一种方法和post方法。。。谢谢我正在使用IntelliJ IDE检查url。您正在调用rest/mail/registration,而不是mail/registration。使用此模式调用所有请求。。。
$http({
url: '/rest/mail/registration',
method: "POST",
data: $scope.email,
headers: {'Content-Type': 'application/json'}
}).success(function (data, status, headers, config) {
$http.post('/rest/mail/registration', $scope.email)...;
WARNING: Request method 'POST' not supported