首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SDR /search映射冲突

SDR /search映射冲突
EN

Stack Overflow用户
提问于 2017-08-03 21:53:52
回答 1查看 163关注 0票数 1

我在SpringBoot1.5.4中使用Spring数据REST,并且遇到了麻烦。

我定义了存储库:

代码语言:javascript
复制
public interface TicketRepository extends JpaRepository<Ticket, Long> {

    @RestResource(path = "find-by-ticket-list-id")
    Page<Ticket> findByTicketListIdOrderByPosition(@Param("ticketListId") Long ticketListId, Pageable pageable);
}

我需要一个特定的方法。所以我定义了控制器:

代码语言:javascript
复制
@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的问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-04 14:38:29

在URI模板模式中使用正则表达式:

代码语言:javascript
复制
@GetMapping("/tickets/{id:\\d+}")
public ResponseEntity<?> getTicket(@PathVariable Long id, PersistentEntityResourceAssembler assembler) {
    ...
} 

更多信息...

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45495134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档