2016-07-25 3 views
0

В Spring Boot 1.3.5 (Java 8) Я хочу, чтобы мой контроллер возвратил пользовательский код состояния и статус. Под «Custom» я имею в виду код статуса, который не находится в org.springframework.http.HttpStatus.Контроллер Spring Boot с пользовательскими кодами состояния?

Я знаю, я должен придерживаться стандартных кодов (но я не могу).

В настоящее время мой контроллер делает

HttpServletResponse response 

    . 
    . 

response.setStatus(255) 

Я получаю ожидаемый

java.lang.IllegalArgumentException: No matching constant for [255] 
    at org.springframework.http.HttpStatus.valueOf(HttpStatus.java:488) 
    at org.springframework.test.web.servlet.result.StatusResultMatchers.getHttpStatusSeries(StatusResultMatchers.java:139) 

Примечания, операция может быть успешной, так что в этом случае я хочу, чтобы вернуть пользовательский код 2xx с ответом объект (т.е. sendError не помогает).

Google говорит, что это может быть доступно в весеннем плане 4.3, но есть ли у кого-нибудь мысли для реализации сейчас (с весенним планом 4.2.6)?

+0

4.3 Имеет смысл, вы могли бы использовать 'sendError' вместо этого? –

+1

Можете ли вы предоставить полную стекцию вашего исключения? – Nikem

+0

sendError не будет для меня, потому что иногда код для успешной операции, и мне нужно вернуть объект ответа (будет обновлять вопрос). – eze

ответ

2

Пользовательские http-коды работают над 4.2. Это совпадение в вашем junit, которое не позволяет утверждать код ответа. Должен работать в вашем браузере.

Смежные вопросы