При той же настройке, что и , этот вопрос , а именно, что вызов метода POST с отсутствующим телом запроса отвечает на проблему JSON следующим образом:
{
"timestamp": "2018-10-24T16:47:04.691+0000",
"status": 400,
"error": "Bad Request",
"message": "Required request body is missing: public org.springframework.http.ResponseEntity<org.scd.model.User> org.scd.controller.UserController.loginUser(java.util.Map<java.lang.String, java.lang.String>) throws java.lang.Exception",
"path": "/users/login"
}
Я обеспокоен тем, чтоТело содержит детали реализации. Ни одному клиенту не нужно знать, что метод на бэкэнде -
public org.springframework.http.ResponseEntity<org.scd.model.User> org.scd.controller.UserController.loginUser(java.util.Map<java.lang.String, java.lang.String>)
или что он throws java.lang.Exception
.
Помимо того, что это уродливый ответ, он просеивает детали реализации и в некоторых случаях может дать злоумышленнику достаточно информации для использования.
Мой вопрос состоит из трех частей:
- Где это поведение задокументировано?
- Я заметил, что и мой код, и вопрос, который я связал, чтобы создать проверенное исключение: это имеет отношение к ситуации здесь?
- Настраивается ли поведение илия должен вручную написать обработчик исключений?