Mark930.k
Nightcrawler
Mark930.k
전체 방문자
오늘
어제
  • 📚 WWW (102)
    • 🖥하드웨어 (1)
    • ⚡네트워크 (38)
      • Amazon AWS (5)
      • OSI 7 Layer (1)
      • 네트워크 기초 (2)
      • Linux (2)
    • 💻모의해킹 (9)
      • Android (1)
      • Microsoft (7)
      • Linux (0)
      • 침해대응 (1)
    • 🐧리눅스 (0)
    • 🏋️‍♂️운동 (7)
      • 헬스 루틴 (6)
    • 🏎️자동차 (1)
      • BMW (1)
    • 기타 (13)
      • NetScaler 업무 페이지 (8)
    • 📖독서 (1)
      • 경제 (1)

블로그 메뉴

    공지사항

    인기 글

    태그

    • Python test
    • 위변조
    • 네트워크
    • 해킹
    • 웹위변조
    • Security
    • 보안
    • CVE-2022-30190
    • zeroday
    • python
    • 정보보안

    최근 댓글

    최근 글

    티스토리

    hELLO · Designed By 정상우.
    Mark930.k

    Nightcrawler

    카테고리 없음

    REST API와 GET, POST, PUT, DELETE 통신에 대해

    2022. 5. 23. 10:17

    1. REST (Representational State Transfer)

    REST API는 웹에서 데이터를 전송 및 처리하는 방법을 정의한 인터페이스를 말한다. 모든 데이터 구조와 처리방식은 REST에서 URL을 통해 정의되며, 그래서 매우 직관적으로 이해할 수 있다.

     

    2. HTTP Method와 CRUD

    일반적으로 API를 설계할때, URL로는 자원(resource)을 명시하고, HTTP Method로는 행위를 명시합니다.

     

    REST 구성

    • 자원(resource): URI
    • 행위(verb): HTTP Method
      • HTTP Method를 통해 해당 자원에 대한 CRUD Operation을 적용하여 아래와 같이 사용한다.
        • Create: 데이터 생성 (POST)
        • Read: 데이터 조회 (GET)
        • Update: 데이터 수정 (PUT)
        • Delete: 데이터 삭제 (DELETE)

     

    API 설계시 멱등성을 고려
    - 멱등성: 동일한 요청을 한 번 보내는 것과 여러 번 연속으로 보내는 것이 같은 효과를 지니고, 서버의 상태도 동일하게 남을 때 해당 HTTP 메서드가 멱등성을 가졌다고 말한다.
    - 올바르게 구현하는 경우, GET, HEAD, PUT, DELETE 메서드는 멱등성을 가지고, POST 메서드는 멱등성을 가지지 않는다.
    - 참고: https://developer.mozilla.org/ko/docs/Glossary/Idempotent

     

    2.1. GET Method

    GET은 보통 조회를 할 때 사용한다.

    • DB로 생각했을때는 SELECT에 해당

     

    예를들어, 회원가입한 사용자의 정보를 알고 싶다면, 아래처럼 사용한다.

    GET http://localhost:8080/rest/api/v1/user/1JAVA


    2.2. POST Method

    POST는 보통 데이터를 추가할 때 사용한다.

    • DB로 생각했을때는 INSERT에 해당

    회원 가입을 하는 경우, POST 방식으로 사용자의 정보를 함께 전송한다.

    POST http://localhost:8080/rest/api/v1/user
    
    {
        "username": "아무개",
        "password": "1234",
        "email": "test@google.com",
        ...
     }JAVA


    2.3. PUT Method

    PUT은 데이터를 수정 할 때 사용한다.

    • DB로 생각했을때는 UPDATE에 해당

     

    사용자의 정보를 수정하고 싶은 경우, 수정하고 싶은 사용자 정보와 함께 PUT 방식으로 요청한다.

    • 위 POST와 동일한 URL로 요청하지만, HTTP 메소드가 다르기 때문에 다르게 동작한다.
    PUT http://localhost:8080/rest/api/v1/user/{user_id}
    
    예시: PUT http://localhost:8080/rest/api/v1/user/1
    
    {
        "password": "4321"
     }JAVA


    출처: https://memostack.tistory.com/180 [MemoStack]



    저작자표시 변경금지 (새창열림)
      Mark930.k
      Mark930.k
      Citrix Netscaler / Citrix VDI / KaliLinux / AWS / VMware / Window Svr

      티스토리툴바