14

Spring Data RESTのリソースのルート リストで外部リソース (リポジトリを介して管理されていない) を公開する方法は? Restbucksのパターンに従ってコントローラーを定義しました

4

2 に答える 2

23

を実装することで実現できますResourceProcessor<RepositoryLinksResource>

次のコード スニペットは、ルート リストに「/others」を追加します

@Controller
@ExposesResourceFor(Other.class)
@RequestMapping("/others")
public class CustomRootController implements
        ResourceProcessor<RepositoryLinksResource> {

    @ResponseBody
    @RequestMapping(method = RequestMethod.GET)
    public ResponseEntity<Resources<Resource<Other>>> listEntities(
            Pageable pageable) throws ResourceNotFoundException {
            //... do what needs to be done
    }

    @Override
    public RepositoryLinksResource process(RepositoryLinksResource resource) {
        resource.add(ControllerLinkBuilder.linkTo(CustomRootController.class).withRel("others"));

        return resource;
    }
}

追加する必要があります

{
    "rel": "others",
    "href": "http://localhost:8080/api/others"
}

ルート リストへのリンク

于 2014-07-16T21:28:27.870 に答える