どのようにしてPOSTメソッドがSpringブートMVCでサポートされないのですか?Spring Boot 405 POSTメソッドはサポートされていませんか?
http://localhost:8090/backoffice/tags/add
リクエストボディ::
[{"tagName":"qweqwe"},{"tagName":"zxczxczx"}]
ここで、このように、このURLを叩く私のコード
@RestController(value="/backoffice/tags")
public class TagsController {
@RequestMapping(value = "/add", method = RequestMethod.POST)
public void add(@RequestBody List<Tag> keywords) {
tagsService.add(keywords);
}
}
です:私は、エンティティのリストを受け入れ、単純なpostメソッドを実装しようとしています私は受け取った:
{
"timestamp": 1441800482010,
"status": 405,
"error": "Method Not Allowed",
"exception": "org.springframework.web.HttpRequestMethodNotSupportedException",
"message": "Request method 'POST' not supported",
"path": "/backoffice/tags/add"
}
EDIT:
デバッグ春のWebリクエストハンドラ
public void handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.checkRequest(request);
protected final void checkRequest(HttpServletRequest request) throws ServletException {
String method = request.getMethod();
if(this.supportedMethods != null && !this.supportedMethods.contains(method)) {
throw new HttpRequestMethodNotSupportedException(method, StringUtils.toStringArray(this.supportedMethods));
} else if(this.requireSession && request.getSession(false) == null) {
throw new HttpSessionRequiredException("Pre-existing session required but none found");
}
}
はsupportedMethods
で唯一の二つの方法は、あなたがRestController注釈の定義に誤りがあり{GET,HEAD}
更新もTagsControllerのコード。 –
リビジョン2にロールバックすることを検討してください。今、あなたの質問のコードは正しいので、答えは無意味です。 @RafalG。 – approxiblue
。問題のコードは「固定」されているとはみなされません。 – eis