不支持请求方法'POST'。 500内部服务器错误春季启动
我正在为我的web服务编写一个新的API。我已经尝试过所有其他与此相关的计算器链接。但问题依然存在。不支持请求方法'POST'。 500内部服务器错误春季启动
的问题是: 当我尝试使用打我的春天启动的应用程序:
curl -v -XPOST http://localhost:9081/postpayment/v1/invoice/djhbjsd/send
我得到如下回应:
Trying ::1...
Connected to localhost (::1) port 9081 (#0)
POST /postpayment/v1/invoice/djhbjsd/send HTTP/1.1
Host: localhost:9081
User-Agent: curl/7.43.0
Accept: */*
HTTP/1.1 500 Internal Server Error
Server: Apache-Coyote/1.1
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Mon, 27 Feb 2017 06:21:43 GMT
Connection: close
Closing connection 0
{"timestamp":1488176503569,"status":500,"error":"Internal Server Error","exception":"org.springframework.web.HttpRequestMethodNotSupportedException","message":"Request method 'POST' not supported","path":"/postpayment/v1/invoice/djhbjsd/send"}
我的控制器是:
@RestController
public class PostPaymentApiController {
@ResponseBody
@RequestMapping(value = "/postpayment/v1/invoice/{invoiceGUID}/send", method = RequestMethod.POST)
public ResponseEntity<String> sendPaymentConfirmation(
@PathVariable("invoiceGUID") String invoiceGUID) throws Exception {
try {
//logic
} catch (Exception e) {
LOGGER.error(invoiceGUID+" Error in sending payment confirmation",e);
return new ResponseEntity<String>(invoiceGUID+" "+e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
}
return new ResponseEntity<String>(invoiceGUID+" payment confirmation sent successfully",HttpStatus.OK);
}
}
日志中的错误:
: Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request method 'POST' not supported] with root cause
org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported
at org.springframework.web.servlet.support.WebContentGenerator.checkRequest(WebContentGenerator.java:301) ~[spring-webmvc-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:229) ~[spring-webmvc-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:51) ~[spring-webmvc-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.boot.actuate.autoconfigure.EndpointWebMvcChildContextConfiguration$CompositeHandlerAdapter.handle(EndpointWebMvcChildContextConfiguration.java:266) ~[spring-boot-actuator-1.3.2.RELEASE.jar:1.3.2.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959) ~[spring-webmvc-4.2.4.RELEASE.jar:4.2.4.RELEASE]
还有一件事。我正在对管理端口做出以下响应。当我打的服务器端口上,我得到404.My application.yml包含:
server.port: 9080
management.port: 9081
你休息控制器包括@Configuration和处理方法包括哪些@ResponseBody没有必要@RestController所以去除@Configuration和@来自您的控制器的ResponseBody
已试过。不工作。 – abhishekgarg
什么是你的项目名称,或者你可以上传你的项目的文件夹结构 – shree
这个回购是不公开的。你不能看到repo.btw项目名称是“postpayment” – abhishekgarg
为什么您将@Configuration添加到RestController中? –
'@ RestController'中的''@ ResponseBody''是多余的btw –
从控制器中删除@Configuration。 – abhishekgarg