public HttpEntity<PagedResources<Party>> search(@RequestBody PartySearchRequest request,
Pageable pageable, PagedResourcesAssembler<Party> assembler ) {
Map<String,String> searchFilters = RequestValidator.validateContractSearchFilters(request);
Page<Party> parties = repository.findByFirstNameOrLastName(searchFilters.get("firstName"), searchFilters.get("lastName"), pageable);
return new ResponseEntity(assembler.toResource(parties), HttpStatus.OK);
}
{
"_embedded": {
"partyList": [
{
"firstNm": "John",
"lastNm": "Doe",
},
{
"firstNm": "Bob",
"lastNm": "Smith",
}
],
}
]
},
"_links": {
"first": {
"href": "http://localhost:8080/v1/party/search?page=0&size=2"
},
"self": {
"href": "http://localhost:8080/v1/party/search?page=0&size=2"
},
"next": {
"href": "http://localhost:8080/v1/party/search?page=1&size=2"
},
"last": {
"href": "http://localhost:8080/v1/party/search?page=7&size=2"
}
},
"page": {
"size": 2,
"totalElements": 16,
"totalPages": 8,
"number": 0
}
}
如您所见,我获得了整个party搜索的链接,但没有获得单个party对象的链接。(我想我的问题类似于这个问题:如何在子资源中添加HATEOAS链接),但我不太确定,所以我发布了我自己的。
任何帮助都将不胜感激!谢谢!
您需要对扩展ResourceAssemblerSupport的类的引用。
将myResourceAssembler更改为您的类,这应该是可行的:
在控制器中:
private final MyResourceAssembler myResourceAssembler;
public MyController(MyResourceAssembler myResourceAssembler) {
this.myResourceAssembler = myResourceAssembler;
}
public HttpEntity<PagedResources<Party>> search(@RequestBody PartySearchRequest request,
Pageable pageable, PagedResourcesAssembler<Party> assembler ) {
Map<String,String> searchFilters = RequestValidator.validateContractSearchFilters(request);
Page<Party> parties = repository.findByFirstNameOrLastName(searchFilters.get("firstName"), searchFilters.get("lastName"), pageable);
Link selfLink = linkTo(methodOn(this.getClass().view(pageable, null)).withSelfRel();
return new ResponseEntity(assembler.toResource(parties, myResourceAssembler, selfLink), HttpStatus.OK);
}
return new ResponseEntity(assembler.toResource(parties, myResourceAssembler), HttpStatus.OK);
我正在使用Spring 4.0.0. RELEASE,Spring数据共享1.7.0. M1,Spring Hateoas 0.8.0. RELEASE 我的资源是一个简单的POJO: 我的资源汇编程序将User对象转换为UserResources对象: 在我的UserController我想检索
我使用的是spring-boot:1.3.3、spring-hateoas:0.19.0和spring-data-rest-core:2.4.4。 这是Spring-Hateoas提供的内容的例子。过了一段时间,我将我的应用程序切换到SSL。
问题内容: Xcode 8更新: 在Xcode 8中,需要转到Core Data Model Editor并显示File Inspector。底部附近是代码生成的选项。选择快速。 编辑 :我找到了从核心数据实体生成Swift模型的解决方案: 在Xcode上: 编辑器 >创建NSManagedOjbect>单击按钮“下一步”>单击按钮“下一步”>选择“快速”语言>单击按钮“创建” 我使用Core D
我的项目中有两个域对象,和。s分别与单个相关联。我正在使用Spring-Data-Rest,它是抽象,所以我有这个: 当我通过HTTP获取时,我会得到这个: 但是,我不能将相同的内容发回以首先创建文档。我发现最好的办法是发布以下内容: 然而,这似乎真的很奇怪,因为: a) 现在,我在对象中嵌入了一个未命名、未类型化的链接,这不是很HATEAOS(尽管Spring似乎正确地反序列化了它)。 b)我现
从sln目录工程 从解决方案目录工作 我不希望VS 2017必须安装在构建机器上,所以我从 https://www.visualstudio.com/downloads/ 安装了“Visual Studio 2017的构建工具”。 轰炸sln中的每个项目,错误如下: 错误 MSB4019:找不到导入的项目“C:\Program Files (x86)\Microsoft Visual Studio
问题是,Spring HATEOAS和Spring Data Rest之间有什么区别? 我觉得两者都可以做同样的事情,Spring数据Rest(作为Spring数据的一部分)似乎更有活力。 https://github.com/spring-projects/spring-hateoas https://github.com/spring-projects/spring-data-rest 你什么