我在SpringBoot1.5.4中使用Spring数据REST,并且遇到了麻烦。
我定义了存储库:
public interface TicketRepository extends JpaRepository<Ticket, Long> {
@RestResource(path = "find-by-ticket-list-id")
Page<Ticket> findByTicketListIdOrderByPosition(@Param("ticketListId") Long ticketListId, Pageable pageable);
}我需要一个特定的方法。所以我定义了控制器:
@RepositoryRestController
public class TicketController {
@GetMapping("/tickets/{id}")
public ResponseEntity<?> getTicket(@PathVariable Long id, PersistentEntityResourceAssembler assembler) {
...
}
}现在,当我试图获得一个搜索资源列表时,我会得到一个错误。
未能将“java.lang.String”类型的值转换为所需的“java.lang.Long”类型
我知道这是由于/tickets/{id}和/tickets/search的冲突造成的,但我不知道如何处理。我试图将@Order放在getTicket方法之前和TicketController定义之前,但是它没有改变任何东西。
如何解决两个URI的问题?
发布于 2017-08-04 14:38:29
在URI模板模式中使用正则表达式:
@GetMapping("/tickets/{id:\\d+}")
public ResponseEntity<?> getTicket(@PathVariable Long id, PersistentEntityResourceAssembler assembler) {
...
} 更多信息...
https://stackoverflow.com/questions/45495134
复制相似问题