ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Restful API 테스트 사이트 (https://reqres.in) 소개
    개발 Tip 2022. 2. 25. 14:14
    반응형

    reqres.in 사이트를 이용하면 별도의 서버를 만들거나 샘플 데이터를 생성하지 않고도 빠르고 편리하게 Restful API 환경을 구축을 할 수 있다.

     

    장점

    • 샘플 데이터를 만들 필요가 없다.
    • 실제로 동작하는 Restful API HTTP Method (GET/POST/PUT/DELETE) 지원
    • 1개월당 1억건의 요청 까지 무료, 사실상 무료라고 보면 됨
    • 사용자로부터 받은 데이터를 저장하지 않고 폐기함

     

    시나리오를 제공

    • GET
      • LIST USERS
      • SINGLE USER
        • SINGLE USER NOT FOUND
      • LIST <RESOURCE>
      • SINGLE <RESOURCE>
        • SINGLE <RESOURCE> NOT FOUND
      • DELAYED RESPONSE
    • POST
      • CREATE
      • REGISTER – SUCCESSFUL
      • REGISTER – UNSUCCESSFUL
      • LOGIN – SUCCESSFUL
      • LOGIN – UNSUCCESSFUL
    • PUT
      • UPDATE
    • PATCH
      • UPDATE
    • DELETE
      • DELETE

     

    [GET] LIST USERS

    사용자(USER) 목록을 호출한다. page 라는 파라미터를 가지며 생략된 경우 1페이지를 가져온다.

     

    [GET] SINGLE USER

    users/ 뒤에 숫자로 된 아이디를 입력하면 특정 USER 데이터를 가져옴. 아이디는 생략할 수 없고 존재하지 않는 아이디를 입력한 경우 404 에러 반환

     

    [GET] LIST <RESOURCE>

    리소스(RESOURCE) 이름으로 임의의 이름을 입력하면 고정된 데이터를 반환. 어떠한 리소스 이름을 입력하더라도 반환되는 데이터는 아래에 있는 그림과 같다. url unknown 부분에 임의로 이름을 지정하면된다. page 라는 파라미터를 가지며 생략된 경우 1페이지를 가져온다.

    ex) https://reqres.in/api/devmg?page=2 호출결과, devmg란 이름은 내가 임의로 지정함

     

    [GET] SINGLE <RESOURCE>

    숫자로 된 아이디를 입력하면 특정 아이디의 RESOURCE 데이터를 가져옴. 아이디는 생략할 수 없고 존재하지 않는 아이디를 입력한 경우 404 에러 반환, 위와 같이 unknown 부분에 임의의 이름을 넣어 호출한다.

     

    [GET] DELEYED RESPONSE

    ReqRes에서 제공하는 모든 GET API의 주소 뒤에 ?delay=숫자 을 붙이면 x 초 지연된 응답을 받을 수 있다.

     

    [POST] CREATE

    USERS 에서 한 명을 등록할 수 있지만 실제로 데이터베이스에 등록되지 않고 201(Created) 응답과 JSON을 반환

    //전송
    {
    	"name": "devmg",
    	"job” : "manager"
    }
    
    //응답
    {
    	"name": "devmg",
    	"job" : "manager",
    	"id” : “99”
    	"createdAt": "2022-02-25T14:20:50.992"
    }

     

    [POST] REGISTER – SUCCESSFUL/UNSUCCESSFUL

    로그인 사용자를 등록. 다만, 실제로 데이터베이스에 등록되지는 않으며. email은 반드시 "eve.holt@reqres.in" 로 입력한 경우에만 응답코드 200를 반환하며, 그 외의 값들은 전부 400(Bad Request)를 반환. 또한 password나 email 필드 중 하나를 생략한 경우에도 400을 반환.

    //전송
    {
        "email": "eve.holt@reqres.in",
        "password": "test"
    }
    
    //정상 등록시 200코드와 함께 다음과 같은 응답을 반환
    {
      "id": 4,
      "token": "QpwL5tke4Pnpja5X4"
    }

     

    [PUT/PATCH] UPDATE

    숫자 부분에 아이디를 입력하면 업데이트가 되며  실제로 DB에 저장되지 않음

    //전송
    {
        "name": "morpheus",
        "job": "zion resident"
    }
    
    //정상 등록시 200코드와 함께 다음과 같은 응답을 반환
    {
        "name": "morpheus",
        "job": "zion resident",
        "updatedAt": "2022-02-25T05:09:06.956Z"
    }

    Restful API에서 PUT은 리소스의 전부를 업데이트한다는 의미이며, PATCH는 리소스의 일부를 업데이트 한다는 것을 의미한다.

     

     

    [DELETE] DELETE

    특정 아이디를 가진 USER를 삭제한다. 삭제시 204(No Content; 리퀘스트를 성공적으로 완료하였고, 반환값은 없음) 응답코드를 반환

    성공시 응답코드 Response204 반환

     

     

    본문의 참고

    http://yoonbumtae.com/?p=3725 

    https://reqres.in/

    반응형

    댓글

Designed by Tistory.