작성
·
296
0
안녕하세요! 강의 복습도 하면서 현업에 있는 직장인입니다ㅎㅎ
RestAPI를 구현중인데, 구현도 어렵지만 설계가 정말정말 어렵다고 느껴졉니다ㅠㅠ
여러 레퍼런스를 찾아보면서 참고하여 설계를 해보고 있는데요,
field selection 개념 도입하려는데 모호한 부분이 있어서요ㅠㅠ
가령 GET /object 요청시 아래와 같이 Response가 왔을 경우,,
{
"success": true,
"message": "Data Found",
"affectedRows": 1,
"data": [
{
"id": 1,
"name": "test layer",
"description": "test layer",
"feature": {
"type": "FeatureCollection",
"features": [
{
"type": "building",
"properties": {
"name": "object01"
}
}
]
},
"sort_order": 0,
"mod_date": "2023-03-09T06:52:19.000Z"
}
]
}
GET field 파라미터로 가능한건 id, name, description, feature, sort_order, mod_date 까지인걸로 이해하고 있는데,
만일 사용자가 features를 Return받고 싶다고 한다면
이런 경우도 마찬가지로 field=feature로 받아서 처리하는게 개념적으로 맞을까요..?
조언 부탁드립니다ㅜ.ㅜ
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
REST API에서 field selection 개념을 도입하려고 하시는 것은 좋은 시도입니다. 위의 예시에서 GET /object 요청을 보면, Response에 “data”라는 배열이 존재합니다. 이 배열 안에 있는 객체에서 원하는 필드만 선택해서 반환하도록 하는 것이 field selection의 개념입니다.
그리고 예시에서 features 필드를 반환하고 싶으시다면, “data” 배열 안에 있는 “feature” 객체 전체를 반환하도록 하는 것이 맞을 것 같습니다. 따라서 field=features로 받아서 처리하는 것이 개념적으로 맞습니다.
하지만, 이러한 처리가 구현에 따라 상황에 따라 다르게 될 수 있기 때문에 개발자가 필요한 필드를 직접 선택할 수 있도록 하는 방법도 고려해 보시는 것이 좋을 것 같습니다.
도움이 되었길 바랍니다. 감사해요 :)