gpt4 book ai didi

java - SDR/搜索映射冲突

转载 作者:行者123 更新时间:2023-11-30 06:34:11 25 4
gpt4 key购买 nike

我正在将 Spring Data REST 与 Spring Boot 1.5.4 结合使用,但遇到了问题。

我定义了存储库:

public interface TicketRepository extends JpaRepository<Ticket, Long> {

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

我需要一个特定的 GET 方法。所以我定义了 Controller :

@RepositoryRestController
public class TicketController {

@GetMapping("/tickets/{id}")
public ResponseEntity<?> getTicket(@PathVariable Long id, PersistentEntityResourceAssembler assembler) {
...
}
}

现在,当我尝试获取搜索资源列表时,出现错误

Failed to convert value of type 'java.lang.String' to required type 'java.lang.Long'

我知道这是由于 /tickets/{id}/tickets/search 发生冲突,但我不明白如何处理这个问题。我尝试将 @Order 放在 getTicket 方法之前和 TicketController 定义之前,但它没有改变任何内容。

如何解析这两个 URI?

最佳答案

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

@GetMapping("/tickets/{id:\\d+}")
public ResponseEntity<?> getTicket(@PathVariable Long id, PersistentEntityResourceAssembler assembler) {
...
}

More info ...

关于java - SDR/搜索映射冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45495134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com