0
カスタムHTTPステータスコード(450)を使用しようとしていますが、「org.springframework.http.HttpStatusに '450' 。私は他のスレッドを検索しようとしましたが、自分の状況に適切な回答を見つけることができませんでした。どんな助けでも大歓迎です。ありがとう!登録されたステータスコード以外のカスタムHTTPステータスコード
私のコードの下に見つけてください:
<http:inbound-gateway supported-methods="POST"
request-channel="headerEnricher"
error-channel="errorHandlerRouterChannel"
reply-channel="responseChannel" header-mapper="headerMapper"
path="/testApi/1.0" request-payload-type="java.lang.String" />
エラーハンドラメソッド:
private Message<String> createErrorResponse() {
Map<String, String> respHeader = new HashMap<String, String>();
respHeader.put(HttpHeaders.STATUS_CODE, "450");
return MessageBuilder.withPayload("Validation Error")
.copyHeaders(respHeader).build();
}
エラー例外:
HTTP Status 500 - Request processing failed; nested exception is java.lang.IllegalArgumentException: No matching constant for [450]
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalArgumentException: No matching constant for [450]
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:894)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
root cause: java.lang.IllegalArgumentException: No matching constant for [450]
org.springframework.http.HttpStatus.valueOf(HttpStatus.java:426)
org.springframework.integration.http.inbound.HttpRequestHandlingEndpointSupport.resolveHttpStatusFromHeaders(HttpRequestHandlingEndpointSupport.java:549)
org.springframework.integration.http.inbound.HttpRequestHandlingEndpointSupport.setupResponseAndConvertReply(HttpRequestHandlingEndpointSupport.java:443)
org.springframework.integration.http.inbound.HttpRequestHandlingMessagingGateway.handleRequest(HttpRequestHandlingMessagingGateway.java:103)
org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:49)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
どのような状況ですか?私は考えることができるほとんどの場合、カスタムhttpステータスコードを避ける傾向があります。 – Michael
ここに見て:http://stackoverflow.com/questions/22150176/custom-http-code-with-spring-mvc – aldanux
こんにちはアルダヌー、返信いただきありがとうございます。しかし、私のコードを見てください。この状況をどのように処理するか教えてください。ありがとう! –