개발일지/2023_한이음

[개발] ⚠️MISS - URL에서 값을 post 방식으로 받아오려면?

기억지기 개발자 2023. 5. 25. 22:31


🛤️현상 : 

 @PutMapping(value = "/update/{id}")
    public ResponseEntity<Review> update(@RequestBody ReviewDTO dto, @PathVariable Long id) {
        Optional<Review> reviewdto = this.reviewService.update(id, dto);
        logger.debug("------id값:  "+id);
        return new ResponseEntity(reviewdto, HttpStatus.OK);
    }


라는 코드를 기반으로 
http://localhost:8080/review/update?id=4&author=hhhhhhhhh&tags=IT&content=hello&trafficRate=4&facilityRate=4&cafeteriaRate=4&educationRate=4&employmentRate=4&schoolId=1
형식의 url로 update를 성공하고 싶었는데 계~속 실패해서 미칠뻔했다. 그런데.....


🗝️원인/해결 : 

[실제로 /update/{id}와 같은 형식의 URL을 사용하려면 (POST 방식을 사용하려면), @PathVariable을 사용하여 동적인 값을 받아와야 합니다. 따라서 올바른 URL 형식은 http://localhost:8080/review/update/5가 됩니다.] 라고 GPT가 그랬다. ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 저 쿼리파라미터 형식을 사용하려면 @RequestParam를 사용해서 값을 받아와야한다. 

 

http://localhost:8080/review/update/5 ➡️ post 방식

http://localhost:8080/review/update?schoolId=1 ➡️ get 방식