我想使用REST API的HAL格式来包含嵌入式资源.我正在使用Spring HATEOAS作为我的API,Spring HATEOAS似乎支持嵌入式资源; 但是,没有关于如何使用它的文档或示例.
有人可以举例说明如何使用Spring HATEOAS来包含嵌入式资源吗?
我有一个用Spring-Data制作的数据访问层.我现在正在创建一个Web应用程序.这个控制器方法应返回格式为JSON 的Spring-Data页面.
这样的页面是一个列表,其中包含额外的分页信息,例如记录总数等等.
这是可能的,如果是的话怎么样?
与此直接相关,我可以定义属性名称的映射吗?例如.意思是我需要定义如何在JSON中命名分页信息属性(与页面不同).这可能吗?怎么样?
我正在尝试从RepositoryRestResource向自动生成的端点添加一些额外的业务逻辑.请参阅以下代码:
资源:
@RepositoryRestResource(collectionResourceRel="event", path="event")
public interface EventRepository extends PagingAndSortingRepository<Event, Long> {
}
Run Code Online (Sandbox Code Playgroud)
控制器:
@RepositoryRestController
@RequestMapping(value = "/event")
public class EventController {
@Autowired
private EventRepository eventRepository;
@Autowired
private PagedResourcesAssembler<Event> pagedResourcesAssembler;
@RequestMapping(method = RequestMethod.GET, value = "")
@ResponseBody
public PagedResources<PersistentEntityResource> getEvents(Pageable pageable,
PersistentEntityResourceAssembler persistentEntityResourceAssembler) {
Page<Event> events = eventRepository.findAll(pageable);
return pagedResourcesAssembler.toResource(events, persistentEntityResourceAssembler);
}
}
Run Code Online (Sandbox Code Playgroud)
我查看了以下两篇stackoverflow文章:
我觉得我很亲密,但我面临的问题是:
return pagedResourcesAssembler.toResource(events, persistentEntityResourceAssembler);
Run Code Online (Sandbox Code Playgroud)
返回错误说:
"The method toResource(Page<Event>, Link) in the type PagedResourcesAssembler<Event> is not applicable
for the arguments (Page<Event>, PersistentEntityResourceAssembler)".
Run Code Online (Sandbox Code Playgroud)
toResource方法有一个接受ResourceAssembler的方法签名,但我不知道如何正确实现它,我找不到任何关于此事的文档.
在此先感谢, - …