본문 바로가기
Programming/SpringBoot

[Spring Boot] REST API 설계 시 고려해야 할 사항

by prinha 2020. 8. 27.
반응형

 

 

[Spring] REST API 방식 / RESTful 시스템

REST (Representational State Transfer) HTTP 기반으로 필요한 자원에 쉽게 접근할 수 있도록 도와주는 아키텍처이다. HTTP에 존재하는 모든 자원에 고유한 URI를 부여하여 자원을 정의하고, 자원에 대한 주소

prinha.tistory.com

 

RESTful Web Services - Best practices

 

 

Consumer first

   개발자 중심의 설계보다는 해당 API를 사용하는 사용자 중심으로 
   간단명료하고 직관적인 형태로 설계되어야함

 

■ Make best use of HTTP

    HTTP Method, Request-Response Type, Header 값 등과 같이 HTTP의 장점을 최대한 살려 설계해야함

 

■ Request methods

    각 리소스별로 적절한 HTTP Method를 제공해야함

    - GET

    - POST

    - PUT

    - DELETE

 

Response Status

    각 API 요청에 따른 적절한 HTTP Status code를 반환 시켜줘야함

    - 200

    - 404

    - 400

    - 201

    - 401

 

No secure info in URI

    개발자가 제공하는 URI에 사용자 비밀번호와 같은 critical한 데이터를 포함해서는 안됨

 

Use plurals

    제공하려는 모든 데이터의 타입을 plural(복수형)으로 표시
    특정한 리소스를 지칭하고 싶을 때에는 다음 deps에 url로 표시

    - prefer /users to /user

    - prefer /users/1 to /user/1

 

User nouns for resources

    resouces에 대한 정보는 동사 형태보다는 명사 형태로 (사용자 입장에서 더욱 직관적)

 

For exceptions

    일관된 접근 Enter Point 사용

    - define a consistent approach

       /search

       PUT /gists/{id}/star

       DELETE/gists/{id}/star

 

 

 

반응형