我有一个Rest URL来加载所有用户卡:
@RequestMapping("/api/client/cards")
public class CardsController
我有一个Rest URL来加载所有交易:
@RequestMapping("/api/client/transactions")
public class TransactionsController
一张卡有多个交易。现在我需要通过卡获得所有交易。如何构建当前URL?
我可以为CardsController
@PostMapping(value = "/{guid}/page/{page}")
public TransactionsResponse getCardTransactions(@PathVariable String guid, @PathVariable int page)
或者我可以将方法添加到TransactionsController
@PostMapping(value = "/{cardGuid}/page/{page}")
public TransactionsResponse getTransactionsByCardGuid(@PathVariable String cardGuid, @PathVariable int page)
但我不喜欢这两种方式,因为完整的URL将如下所示:
/api/client/cards/{guid}/page/{page}
//没有关于交易的说法
或
/api/client/transactions/{cardGuid}/page/{page}//cardGuid not at the right place
我觉得将它放在TransactionsController
中是正确的,但我怎样才能正确构建网址?
答案 0 :(得分:0)
请注意,没有“正确”的REST URL方式,在大多数情况下它只需要足够可读。
您可以参考此link获取指南。
您可以为您的网址使用此类内容。
@RequestMapping("/api/client/{cardId}/transactions")
public class getTransactionsByCardId(@PathVariable("cardId") Long cardId)