Мой Spring-Controller имеет конфигурацию конечной точки, подобную этой:
@ApiOperation(value = "Bla",response = String.class, responseContainer = "")
@ApiResponses(value = { /* some @ApiResponse error codes */ })
@SomeAspectAnnotation
@RequestTrace
@RequestMapping(
method = RequestMethod.GET,
value = "/{name}",
produces = MediaType.APPLICATION_JSON_VALUE
)
public ResponseEntity<String> getBenutzereinstellungenByName(
@PathVariable() String name,
@ApiParam(name = "Authorization", value = "JWT", required = true) @RequestHeader(value = "Authorization") String jwt,
@ApiParam(name = "SomeParam", value = "Some Header Param") @RequestHeader(value = "Some-Param", required = false) String someParam
) {
return new ResponseEntity<>(name, HttpStatus.OK);
}
когда я звоню URL с номером в конце, я получаю 1
в качестве ответа в Почтальон. Когда я называю это «test», сервер возвращает Unexpected 't'
. Зачем? PathVariable имеет тип String, и в RequestMapping нет ограничений Regex
РЕДАКТИРОВАТЬ: изменение PathVariable()
на @PathVariable(value = "name", name = "name", required = true)
не помогло с проблемой
EDIT2: я изменил название вопроса. Это может быть закрыто. Проблема в том, что когда почтальон ожидает приложения / json-ответа, для ответа потребуется не "no"
, а 1
.