我无法使用相关模型

时间:2018-03-12 10:05:09

标签: rest spring-mvc

我有一个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中是正确的,但我怎样才能正确构建网址?

1 个答案:

答案 0 :(得分:0)

请注意,没有“正确”的REST URL方式,在大多数情况下它只需要足够可读。

您可以参考此link获取指南。

您可以为您的网址使用此类内容。

@RequestMapping("/api/client/{cardId}/transactions")
public class getTransactionsByCardId(@PathVariable("cardId") Long cardId)