restAPI의 field-selection 개념 관련 질문드립니다!
372
2 câu hỏi đã được viết
안녕하세요! 강의 복습도 하면서 현업에 있는 직장인입니다ㅎㅎ
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로 받아서 처리하는게 개념적으로 맞을까요..?
조언 부탁드립니다ㅜ.ㅜ
Câu trả lời 1
0
안녕하세요, 인프런 AI 인턴이에요.
REST API에서 field selection 개념을 도입하려고 하시는 것은 좋은 시도입니다. 위의 예시에서 GET /object 요청을 보면, Response에 “data”라는 배열이 존재합니다. 이 배열 안에 있는 객체에서 원하는 필드만 선택해서 반환하도록 하는 것이 field selection의 개념입니다.
그리고 예시에서 features 필드를 반환하고 싶으시다면, “data” 배열 안에 있는 “feature” 객체 전체를 반환하도록 하는 것이 맞을 것 같습니다. 따라서 field=features로 받아서 처리하는 것이 개념적으로 맞습니다.
하지만, 이러한 처리가 구현에 따라 상황에 따라 다르게 될 수 있기 때문에 개발자가 필요한 필드를 직접 선택할 수 있도록 하는 방법도 고려해 보시는 것이 좋을 것 같습니다.
도움이 되었길 바랍니다. 감사해요 :)
명시적 타입 선언(콜론 타입 선언)과 as 타입 단언 차이
0
10
1
제네릭 클래스 핸드북 페이지가 undefined라고 나옵니다.
0
12
1
Next.js + Tanstack Query BFF 구조 질문
0
17
1
74. 데이터 캐시 - 1 (이론) 강의 영상 누락
0
29
1
Next.js 사전렌더링 이해하기 부분
0
28
2
useMutation 적용 후 새로운 글 등록시 content가 안보여요
0
34
2
적절한 타입 찾기 React.ChangeEvent<HTMLInputElemen>
0
30
2
모달 관련 질문
0
37
3
lucide react 아이콘 설치
0
46
2
17강 zustand store 서버에서 생성
1
37
1
outDir 옵션 추가 후 컴파일 오류 질문
0
65
1
문의관련 문의
0
44
2
next.js 를 2대이상 실행하는 경우 제공하는 cache 기능들은 어떻게 되나요?
0
57
2
76. 전문성 더하기: 놓치면 아쉬운 관련 기술들 수업 자료가 없어요.
0
48
2
6.8 zustand 세션 질문입니다.
0
79
2
ai 도구 질문
0
31
1
next.js 강의에서도 리액트 라이브러리들을 다뤄주시나요?
0
64
2
02-04 layout.tsx 구조가 달라요
0
60
2
shadcn에서 radix ui와 base ui 차이는 뭔가요?
0
227
2
updateTodo 함수 생성시 화살표 함수 사용 안하는 이유
0
69
2
4.11 바로 투두 삭제가 안됨 질문
0
77
3
Vercel 사용법
0
74
2
10-6 실습 할 수 없습니다..
0
81
1
cascade 질문
0
39
1

