Я создаю простой сервлет для ответа на отправку формы. Этот сервлет получает запрос POST и должен отвечать на данные Application / JSON. Это хорошо работает. Теперь я хочу добавить в свой сервлет управление ошибками: если сервлет получает неверные параметры запроса, я хочу, чтобы он отвечал клиенту на ответ 400 - Bad Request простым ответом {"error":"ERROR MESSAGE"}
JSON.
Я использую HttpServletResponse#sendError(int,String)
для правильной отправки ошибки, но ContentType
ответа всегда устанавливается на text/html
, хотя раньше я использовал HttpServletResponse#setContentType("application/json")
.
Это хороший способ отправить ошибку с помощью Servets? Как я могу заставить ContentType
ответа на application/json
?
Пример кода метода doPost () моего тестового сервлета:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("application/json;charset=UTF-8");
PrintWriter out = response.getWriter();
out.print("{\"error\":1}");
response.sendError(HttpServletResponse.SC_BAD_REQUEST);
}