source

HATEOAS에서 '_embedded'의 의미와 사용방법

ittop 2023. 3. 18. 09:22
반응형

HATEOAS에서 '_embedded'의 의미와 사용방법

HATEOAS를 지원하는 Spring Data REST를 사용하고 있습니다.저는 이 패러다임이 처음입니다.

GET내 RESTful 웹 서비스의 응답 나는 종종 노드 안에서 결과를 받습니다._embedded.

노드 용도가 궁금합니다. REST 사양의 일부입니까? 아니면 HATEOAS 사양의 일부입니까? 아니면 스프링 구현에 특화되어 있습니까?

다음 예시는 에 대한 JSON 결과입니다.GET http://localhost:8080/mywebservice/features:

{
   "_links":
   {
       "search": { "href": "http://localhost:8080/mywebservice/features/search" }
   },
   "_embedded":
   {
       "features":
       [
           {
               "feature": "GROUND",
               "name": "Terreno",
               "data_type": "String",
               "_links":
               {
                   "self"  : { "href": "http://localhost:8080/mywebservice/features/GROUND" },
                   "values": { "href": "http://localhost:8080/mywebservice/features/GROUND }
               }
           },

           ...

       ]
   }
}

나는 거의 항상 그런 것을 알아차렸다._embeddednode in response: 수집을 요구하지만,가 검색을 통해 단일 리소스를 요구하더라도(예를 들어GET http://localhost:8080/mywebservice/persons/search/findByEmail?email=example@example@.com).

이해가 안 돼요_embedded특정 리소스에 대한 요청인 경우에만 노드(예:GET http://localhost:8080/mywebservice/features/GROUND.

REST도 HATEOAS 사양도 없습니다.두 가지 모두 개념일 뿐이며, 말하자면 건축 양식일 뿐입니다. _embeddedHAL 형식의 일부입니다.

이는 리소스를 포함(sic!)하기 위한 것으로, 그렇지 않으면 해당 URI만 반환됩니다.예를들면GET http://localhost:8080/mywebservice/featuresURI 목록만 반환하도록 되어 있습니다.http://localhost:8080/mywebservice/features/GROUND모든 파일을 로드해야 합니다.Feature당신이 필요하면 당신 스스로요.활용에 의해_embedded모든.Feature리소스가 응답에 포함되어 있기 때문에 개별적으로 로드할 필요가 없습니다.

언급URL : https://stackoverflow.com/questions/27405637/meaning-and-usage-of-embedded-in-hateoas

반응형