У меня есть следующий класс контроллера:
@RestController
@RequestMapping(value = "/query")
public class QueryController {
@Autowired
private QueryService queryService;
// this post API works perfectly fine
@PostMapping(value = "/submit")
public void submitQuery(@Valid @RequestBody Query query) {
queryService.submit(query);
}
// this API is throwing the error
@GetMapping(value = "/find/email/{email:.+}")
public List<Query> fetchByEmail(@PathVariable("email") String email) {
return queryService.fetchByEmail(email);
}
}
Я отправляю следующий запрос cURL:
curl -X GET http://localhost:8562/query/find/email/abc@gmail.com -H 'Content-Type: application / json '
В режиме отладки я вижу, что запрос поступил на контроллер с ожидаемым идентификатором электронной почты, который я отправил в запросе.Также произошел поиск по уровню DAO, и он вернул 1 запись, но API выдает следующую ошибку:
{
"timestamp": 1569655451392,
"status": 406,
"error": "Not Acceptable",
"message": "Could not find acceptable representation",
"path": "/query/find/email/abc@gmail.com"
}
Может кто-нибудь помочь?
Примечание: я использую springBootVersion = '2.0.5.RELEASE'
Редактировать: GET API - это тот, который выдаетошибка.Любой запрос, у которого нет символа точки (.), Работает нормально.Следующий запрос не выдает никакой ошибки:
curl -X GET http://localhost:8562/query/find/email/abc@gmail -H 'Content-Type: application / json'
Edit-2: Прикрепленный скриншот отладки ниже:
С этого момента, если я запускаю код, я получаю следующую ошибку:
{"timestamp": 1569657676774, "status": 406, "error": "Not Acceptable", "message": "Не удалось найти приемлемое представление", "path": "/query/find/email/rishi2893@gmail.com "}