2017-05-02 5 views
2

BookController 이전에 @ExposesResourceFor(Book.class)을 수행했기 때문에이 코드가 BookController를 찾았지만 해결할 메소드/URL을 어떻게 알 수 있습니까?linkForSingleResource는 어떻게 작동합니까?

entityLinks.linkForSingleResource(book).toUri(); 

이것은 그냥 URL에/ID를 추가합니까 127.0.0.1:8080/books/5

으로 해결하고 전혀 방법을 확인하지 않습니다?

+0

음, 정보는이 주제에 새로운 사람들을 위해 특히, 발견 또는 이해하기 쉬운 것을 의미하지 않는다 사용할 수 있다는 사실. 그래서 나는 적절한 답을 쓰고 내 의견을 삭제하기로 결정했습니다. 건배와 +1 – zeroflagL

답변

2

스프링 HATEOAS 설명서에는 예제를 보여주는 chapter on EntityLinks이 있습니다.

documentation on ControllerEntityLinks에는 예상되는 URI 구조에 대한 세부 정보가 들어 있습니다. 콜렉션에는 하나의 빈 맵핑이 있어야하며 개별 자원에 대한 ID 경로 변수로 하나의 맵핑이 필요합니다.

@Controller 
@ExposesResourceFor(Order.class) 
@RequestMapping("/orders") 
class OrderController { 

    //The collection resource 
    @RequestMapping 
    ResponseEntity orders(…) { … } 

    //Individual resources 
    @RequestMapping("/{id}") 
    ResponseEntity order(@PathVariable("id") …) { … } 

}

+0

감사합니다.이 구현과 인터페이스 클래스가 분리 된 Java 설명서를 읽는 방법을 알지 못했습니다. – EralpB