Spring:找不到HTTP请求的映射

时间:2014-07-04 09:38:43

标签: java spring java-ee spring-mvc servlets

我奇怪地遇到这个问题:

[04/07/14 11:31:09:009 CEST]  WARN servlet.PageNotFound: No mapping found for HTTP request with URI [/datapine-backend/heroku/resources] in DispatcherServlet with name 'rest'

但是,我检查了日志,我的方法已经映射了!

   annotation.RequestMappingHandlerMapping: Mapped "{[/heroku/resources/],methods=[POST],params=[],headers=[],consumes=[],produces=[application/json],custom=[]}" onto public org.springframework.http.ResponseEntity<java.lang.String> com.datapine.heroku.HerokuController.provision(net.sf.json.JSONObject)

这是我的方法:

@Controller
 public class HerokuController {

    @RequestMapping(value = "/heroku/resources/", method = RequestMethod.POST,produces = MediaType.APPLICATION_JSON_VALUE)
    public ResponseEntity<String> provision(@RequestBody JSONObject body){
        System.out.println("called! \n");
        JSONObject response = new JSONObject();
        response.put("id", 555);
        response.put("message", "Provision successful!");
      return new ResponseEntity<String>(response.toString(),HttpStatus.OK);     
    }

这是我的 web.xml

<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>/heroku/*</url-pattern>
</servlet-mapping>

这是 rest-servlet.xml

<beans:import resource="classpath:spring-properties-loader.xml"/>
<context:component-scan base-package="com.datapine.heroku" />

<!-- Enables the Spring MVC @Controller programming model -->
    <mvc:annotation-driven />

</beans:beans>

可能是什么问题?

感谢。

0 个答案:

没有答案