POST, PUT - Проблемы с UTF-8

180
31 марта 2018, 16:10

Запросы POST и PUT просят UTF-8. Сервер выдаёт

400 Bad Request Invalid UTF-8 middle byte 0xee

Перепробовал кучу вариантов и не один не подошёл.

Например код из сервиса:

@POST 
@Path("/add")
@Produces(MediaType.APPLICATION_JSON)
public Response addNote(Note note){
    nList.add(note);
    return Response.status(201).build();

Сам запрос подаю через cURL. Пробовал такие варианты:

curl -X POST -i -H "Content-type: application/json; charset=utf-8" -d "{\"title\":\"новая заметка\"}" http://localhost:8080/test_war_exploded/notes/add

curl -H "Accept: application/json; charset=utf-8" -X POST -i -H "Content-type: application/json; charset=utf-8" -d "{\"title\":\"новая заметка\"}" http://localhost:8080/test_war_exploded/notes/add

curl -X POST -i -H "Content-type: application/x-www-form-urlencoded; charset=utf-8" -d "{\"title\":\"новая заметка\"}" http://localhost:8080/test_war_exploded/notes/add

В код добавлял:

@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8")

Пробовал:

return Response.status(201).header("Content-Type", "application/json;charset=UTF-8").build();

Где же засада?

Answer 1

Если вы запускаете curl в cmd, то параметр аргумента -d имеет ту же кодировку, что и консоль Windows - CP866. Обойти это можно сохранив json в файл в кодировке utf-8 и передавая тело запроса так:

curl -X POST -i -H "Content-type: application/json; charset=utf-8" -d @C:\request_body.json
READ ALSO
Как удалить символ “\” из строки?

Как удалить символ “\” из строки?

Как удалить символ "\" из строки? Так не получается

184
При нажатии на ListView вызвать меню

При нажатии на ListView вызвать меню

Имеется ListView, в котором находится информацияКак сделать так, чтобы при долгом нажатии на элемент списка появлялось контекстное меню, в котором...

228
Комплексный json-ответ в spring boot с помощью jackson

Комплексный json-ответ в spring boot с помощью jackson

Пишу spring mvcДля отправки json использую view (id, name, phone) и jackson

197
Что такое объектный модуль?

Что такое объектный модуль?

Что такое объектный модуль? Это что-то вроде скомпилированного java файла?

183