Я создал базовый CRUD API, используя Dropwizard и Spring. В теле моего объекта ответа я получаю следующее:
)]}',
{
"id":10,
"initiator":2,
"target":1,
"statusId":1,
"created":"2018-04-30T14:45:01.173"
}
Я проверял API с помощью curl, postman и programatic во время тестирования с уверенностью, и недопустимые символы )]}',
всегда присутствуют. Почтальон, кажется, способен игнорировать их и отображать довольно распечатанный вывод, однако будьте уверены, что большинство парсеров JSON не могут правильно его проанализировать.
Вопросы:
- Что это?
- Почему они присутствуют?
- Как мне их удалить?
Я писал REST API годами и никогда не видел ничего подобного. Я впервые использую dropwizard, поэтому я с оптимизмом надеюсь, что это какая-то конфигурация, которую я пропустил.
Помимо недопустимых символов, функционально API работает нормально.
Это унаследованная кодовая база, и другие API также возвращают эти символы. В целях тестирования в состоянии покоя недопустимые символы отфильтровываются перед обработкой ответа. Хотя это кажется приемлемым для меня в качестве обходного пути в краткосрочной перспективе, в долгосрочной перспективе все будущие потребители API должны будут все обходить, и в идеале это должно быть исправлено в самом API.