Swagger에서 API를 테스트하는데 에러가 났다!
💻 에러 메시지
Failed to execute 'fetch' on 'Window' : Request with GET/HEAD method cannot have body.
🔎 원인
Get 방식으로 RequestBody로 보내려고 했던 것이 원인이었다. 아무 생각없이 조회니까 Get방식으로 해야지~ 했다..
@GetMapping("/one")
public ResponseEntity<?> list(@RequestBody TicketReq ticketReq) {
try {
List<TicketRes> list = ticketService.getTicketList(ticketReq);
if (list != null && !list.isEmpty()) {
return new ResponseEntity<List<TicketRes>>(list, HttpStatus.OK);
} else {
return new ResponseEntity<Void>(HttpStatus.NO_CONTENT);
}
} catch (Exception e) {
return exceptionHandling(e);
}
}
💡 해결
구글링을 통해 Post 방식으로 바꿔서 보내라는 해결법을 찾았고, Post 방식으로 고쳐서 보냈더니 된다.
맞다. RequestBody로 Get으로 보내는 건 말이 안된다..
@PostMapping("/one")
public ResponseEntity<?> list(@RequestBody TicketReq ticketReq) {
try {
List<TicketRes> list = ticketService.getTicketList(ticketReq);
if (list != null && !list.isEmpty()) {
return new ResponseEntity<List<TicketRes>>(list, HttpStatus.OK);
} else {
return new ResponseEntity<Void>(HttpStatus.NO_CONTENT);
}
} catch (Exception e) {
return exceptionHandling(e);
}
}
📖 참고
'Backend > Spring Boot' 카테고리의 다른 글
[Spring Boot] Redis로 랭킹 기능 구현하기 (0) | 2024.02.09 |
---|---|
[Redis] Spring Boot에 Redis 연동하기 + RedisTemplate, RedisRepository (0) | 2024.02.03 |
[Spring Cloud] Eureka Registered instance 제거하기 (0) | 2023.05.12 |
[Spring] Spring Boot에 QueryDSL 도입기 (0) | 2023.04.13 |
[Spring/MySQL] SQL Error: 1064, SQLState: 42000 - MySQL 예약어 사용해서 나는 에러 (0) | 2023.02.06 |