개발일지/2023_한이음

[개발]🚨ERROR - post men에서 "status": 415,

기억지기 개발자 2023. 5. 26. 12:36

🛤️현상 : 

문제는 get은 CRUD 중에 read에서만 사용이 가능하다는 것이다. 근데 사실 내가 이제까지 공부하면서 get,post,put,delete의 차이를 진지하게 고민한적이 없다는 것이다. 근데 내가 개발을 crud 모두 성공했으나 모두 get으로 해버렸고 read 빼고는 다 바꿔야하는 상황인데 http메소드의 body에 데이터를 담아서 보내는 것을 처음 해봤다.....
포스트 맨에서 put방식으로 설정하고 쿼리파라미터 형식(키&밸류)으로 데이터를 넘기려고 하니까

{
    "timestamp": "2023-05-23T08:26:31.642+00:00",
    "status": 415,
    "error": "Unsupported Media Type",
    "path": "/review/update/3"
}
이러한 오류가 발생하였다.


⭐원인 : 

415 Unsupported Media Type 오류는 서버가 요청을 이해하지 못하는 미디어 타입으로 전송되었을 때 발생하는 오류입니다. 이 오류는 보통 요청 본문의 Content-Type 헤더와 서버가 지원하는 미디어 타입 간의 불일치로 인해 발생합니다.


🗝️해결 :

요청 본문에 JSON 데이터를 포함시키는 방법은 다음과 같습니다.
1. 포스트맨을 열고 PUT 요청을 만듭니다.
2. 엔드포인트 URL을 `http://localhost:8080/review/update/3`과 같이 설정합니다.
3. 요청 본문 탭으로 이동합니다.
4. 요청 본문 타입을 `raw`로 설정합니다.
5. 바로 아래에 있는 드롭다운 메뉴에서 `JSON (application/json)`을 선택합니다.
6. 본문 영역에 ReviewDTO 객체의 JSON 데이터를 입력합니다. 예를 들어:
```json
{
  "author": "hhhhhhhhh",
  "tags": "IT",
  "content": "hello",
  "trafficRate": 4,
  "facilityRate": 4,
  "cafeteriaRate": 4,
  "educationRate": 4,
  "employmentRate": 4,
  "schoolId": 1
}
```
7. 요청을 보냅니다.
이렇게 하면 요청 본문에 ReviewDTO 객체의 JSON 데이터가 포함되어 전송됩니다. 서버는 해당 데이터를 `ReviewDTO` 객체로 파싱하여 업데이트 작업을 수행할 수 있게 됩니다.
---->> 이 방식대로 포스트맨에서 수행했더니 바로 성공했다.....행복해 죽을 거 같다...
➡️Post로 데이터를 전송하는 방식이다.