Утечка деталей реализации в переводе ошибки Spring для отсутствующего тела ответа - PullRequest
0 голосов
/ 24 октября 2019

При той же настройке, что и , этот вопрос , а именно, что вызов метода 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.

Помимо того, что это уродливый ответ, он просеивает детали реализации и в некоторых случаях может дать злоумышленнику достаточно информации для использования.

Мой вопрос состоит из трех частей:

  1. Где это поведение задокументировано?
  2. Я заметил, что и мой код, и вопрос, который я связал, чтобы создать проверенное исключение: это имеет отношение к ситуации здесь?
  3. Настраивается ли поведение илия должен вручную написать обработчик исключений?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...