inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

387

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

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요.

REST API에서 field selection 개념을 도입하려고 하시는 것은 좋은 시도입니다. 위의 예시에서 GET /object 요청을 보면, Response에 “data”라는 배열이 존재합니다. 이 배열 안에 있는 객체에서 원하는 필드만 선택해서 반환하도록 하는 것이 field selection의 개념입니다.

그리고 예시에서 features 필드를 반환하고 싶으시다면, “data” 배열 안에 있는 “feature” 객체 전체를 반환하도록 하는 것이 맞을 것 같습니다. 따라서 field=features로 받아서 처리하는 것이 개념적으로 맞습니다.

하지만, 이러한 처리가 구현에 따라 상황에 따라 다르게 될 수 있기 때문에 개발자가 필요한 필드를 직접 선택할 수 있도록 하는 방법도 고려해 보시는 것이 좋을 것 같습니다.

도움이 되었길 바랍니다. 감사해요 :)

31강 학습자료에 프롬프트가 엉뚱한것이 있어요

0

4

0

mission12-01 guide.md파일 누락

0

14

1

강의 소스 코드는 어디서 볼수 있나여?

1

29

1

17강 강의에 목데이터 첨부파일이 없습니다.

2

39

2

ThemeProvider를 이용해서 NextThemeProvider를 따로 생성하여 Layout.tsx에 적용하는 이유는 뭘까요?

0

31

1

인덱스드 엑세스타입 실무질문

0

22

2

mission 09-01 을 수행할 수 없어요

0

33

1

Context API vs Zustand 그리고 Auth

0

39

2

스니펫이 이상해요

0

34

2

에러핸들링- rootlayout에 관하여

0

32

2

타입 점검하기 swr관련 질문 있습니다.

0

52

2

11장 미션에 이메일 남기는걸 누락했어요.

0

42

1

타입스크립트 autoComplete?

0

41

1

primitive에 onClick 이벤트가 안되는 경우

0

32

3

피그마 스타일링 질문

0

41

2

Zustand의 Store 타입은 어떤 기준으로 작성하는 건가요?

0

40

2

모든 컴포넌트를 클라이언트 컴포넌트로 했을 때

0

36

3

6장 ORM 에 관하여 질문

0

57

1

안녕하세요 한번 더 문의드립니다.

0

68

4

81강 실습 자료 없음

0

55

2

62강 실습자료가 잘못되었습니다.

0

47

1

코드 자료는 없는걸까요?

0

79

3

miragejs 강의 건

0

64

2

saveToLibraryAsync

0

54

2