inflearn logo
강의

講義

知識共有

restAPI의 field-selection 개념 관련 질문드립니다!

372

hbchoi

投稿した質問数 2

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로 받아서 처리하는게 개념적으로 맞을까요..?

조언 부탁드립니다ㅜ.ㅜ

 

nodejs typescript restapi field-selection

回答 1

0

communityai8509

안녕하세요, 인프런 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

16

1

74. 데이터 캐시 - 1 (이론) 강의 영상 누락

0

29

1

Next.js 사전렌더링 이해하기 부분

0

28

2

useMutation 적용 후 새로운 글 등록시 content가 안보여요

0

34

2

적절한 타입 찾기 React.ChangeEvent<HTMLInputElemen>

0

30

2

모달 관련 질문

0

36

3

lucide react 아이콘 설치

0

46

2

17강 zustand store 서버에서 생성

1

37

1

outDir 옵션 추가 후 컴파일 오류 질문

0

65

1

문의관련 문의

0

44

2

next.js 를 2대이상 실행하는 경우 제공하는 cache 기능들은 어떻게 되나요?

0

56

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