Mash-Up-MapC / MapC-backend

Mash-Up 5기 전체 프로젝트(2018-1) Team MapC Server Side Application
3 stars 2 forks source link

코스별 노선 정보 조회 API 구현하기 #28

Open opklnm102 opened 6 years ago

opklnm102 commented 6 years ago

코스별 노선 정보 조회 API 구현하기

Request

HTTP Method URI
GET /courses/route
Name Value Description
Accept application/json Accept contents
Name Type Description


Response

Success

Name Value Description
Content-Type application/json describe the data contained in the body fully enough that the receiving user agent can pick an appropriate mechanism
Status: 200 OK
Content-Type: application/json

[  
   {  
      "course_name":"A코스. 도심, 고궁코스",
      "course_infomation":"광화문 ↔ 세종문화회관\n배차간격 20분~40분",
      "stations":[  
         {  
            "stations_number":1,
            "station_name":"광화문(기점)",
            "station_location":{  
               "lat":40.7114005,
               "lng":-74.0086398
            }
         },
         ...
      ]
   },
   {  
      "course_name":"B코스. 서울파노라마코스",
      "course_infomation":"광화문 ↔ 역사박물과\n주말, 연휴 동안 세빛섬 관광 제외",
      "stations":[  
         {  
            "stations_number":1,
            "station_name":"광화문",
            "station_location":{  
               "lat":40.7114005,
               "lng":-74.0086398
            }
         },
         ...
      ]
   },
   ...
]


Fail

Status Description
500 Internal Server Error unknow server error

500 Internal Server Error

Status: 500 Internal Server Error
Content-Type: application/json

{
    "code": 500,
    "message": "unknow error"
}


relate to issue


Reference

opklnm102 commented 6 years ago

처음에는 course/:course_id/route 이렇게 코스별로 노선 정보를 가져가게할려고 했는데, 코스별 노선 정보를 따로따로 가져가기보다는 1번에 받아가도록 설계했어요. 좋은 URI 생각나시는거 있으시면 알려주시길...

자주 변하지 않을 정보라서 매번 가져가는 것보다 백엔드에서는 캐싱을 적극 사용하도록 구현 예정이에요 앱에서도 호출하기보다는 가급적 호출 안하는 구조로 가져가면 좋을듯한데.. 좋은 방법이 없을까요?

@KiWooyoung @korea8378

opklnm102 commented 6 years ago

@Jeongah-Shin 확인 후 코멘트 남겨주세요

Jeongah-Shin commented 6 years ago

@opklnm102 저도 당장은 코스가 많지 않아서 한번에 받아오도록 하는게 좋을 것 같아용 :smile: 코스가 20개 정도 된다고 하면 고민을 좀 해볼텐데.. 5개니까~ 좋습니당!