반응형

REST API 3

[Spring Rest API] REST API 설계 규칙 - 2

[부록] Google Rest Api에서 쓰는 Error Code STANDARD SUECCSS 200 (“OK”) 일반적인 요청 성공을 나타내는 데 사용해야 한다. 200은 클라이언트가 요청한 어떤 액션이었뜬지 REST API가 성공적으로 수행했음을 나타내는 코드로, 클라이언트는 이 코드를 받길 원한다. 또한 더 이상의 할당된 ‘2xx’ 계열의 응답코드가 없다는 뜻이기도 하다. 204 상태 코드와는 달리 200코드는 응답 바디가 포함된다. 201(‘Created’) 성공적으로 리소스를 생성했을 때 사용한다. 새로운 리소스를 이용하여 컬렉션에 생성했거나 스토어에 추가했을 때 201 상태 코드로 응답한다. 컨트롤러의 행동으로 새로운 리소스가 생겨났을 경우에도 201 상태 코드로 응답한다. POST 시 거의..

[Spring Rest API] REST API 설계 규칙 - 1

규칙 Rule1: 도큐먼트 이름으로는 단수 명사를 사용하여야 한다 Rule2: 컬렉션 이름으로는 복수 명사를 사용하여야 한다. Rule3: 스토어 이름으로는 복수 명사를 사용하여야 한다. Rule4: 컨트롤러 이름으로는 동사나 동사구를 사용해야 한다. Rule5: 경로 부분 중 변하는 부분은 유일한 값으로 대체한다. Rule6: CRUD 기능을 나타내는 것은 URI에 사용하지 않는다. Rule7: URI 쿼리 부분으로 컬렉션이나 스토어를 필터링할 수 있다. Rule8: URI 쿼리는 컬렉션이나 스토어의 결과를 페이지로 구분하여 나타내는 데 사용해야 한다. 메소드 규칙 CRUD 기능을 나타내는 것은 URI에 사용하지 않는다 PUT 메서드는 리소스를 삽입하거나 저장된 리소스를 갱신하는 데 사용해야 한다. P..

[Spring Rest API] axios로 파일 다운로드 시 Content-Disposition 헤더 사용기 (헤더 추가해서 보냈는데 받는 쪽에서 제대로 안받아 질 때)

위는 작성한 Controller 코드 중 일부분이다. Content-Disposition 헤더를 추가하여 파일명을 붙여보내는 메소드이고, postman으로 테스트해볼때는 문제가 없었다. 그런데, 프론트 작업을 하는 친구로부터 제대로 전달되지 않는다고 얘기를 들었다. 해당 header값이 없다고한다. 뭐지?? 분명 postman으로 올바르게 동작하는 걸 확인했는데... 곧장 프론트 작업하는 친구에게 달려가 같이 확인해보았다. 함께 브라우저(chrome)로 확인해본 결과 올바르게 전달이 되는 것을 확인할 수 있음에도 프론트 코드에서 해당 header를 찾을 수 없다는 오류가 지속적으로 발생했다. 여기서 1차 멘붕. 관련한 여러 키워드로 검색해보니 CORS 문제라고 하는데... 나는 분명 처리를 해줬다고 생각..