当编写一个既有前端路径又有JSON路径的MVC应用程序时,推荐使用什么命名约定?
例如,假设您网站的用户有“物品”。他们应该能够进入页面查看他们的物品,但我们还需要一种方法在其他页面上以JSON格式检索这些物品。我已经想到了几个选项,但我对它们中的任何一个都不太满意。以下是我的想法:
1.对于UI,使用/things/list,对于JSON,使用/json/things - 这将需要一个JsonController,最终会提供不同类型的对象,从而在开始之前就破坏了任何实体分离的机会。
2.对于UI,使用/things/list,对于JSON,使用/things/list/json - 目前可能是我最喜欢的选项,但需要魔术字符串(尽管只是“json”)。此外,如果您还需要一个(字符串ID)操作签名来接收某些筛选参数之类的内容,则可以选择添加额外的路由或进行一些肮脏的字符串拆分。
3.对于UI,使用/account/mythings,对于JSON,使用/things/list - 更加简洁,但您可能没有相关的控制器可以服务于“things”。此外,您再次混合了实体。
欢迎提出任何建议,谢谢!
例如,假设您网站的用户有“物品”。他们应该能够进入页面查看他们的物品,但我们还需要一种方法在其他页面上以JSON格式检索这些物品。我已经想到了几个选项,但我对它们中的任何一个都不太满意。以下是我的想法:
1.对于UI,使用/things/list,对于JSON,使用/json/things - 这将需要一个JsonController,最终会提供不同类型的对象,从而在开始之前就破坏了任何实体分离的机会。
2.对于UI,使用/things/list,对于JSON,使用/things/list/json - 目前可能是我最喜欢的选项,但需要魔术字符串(尽管只是“json”)。此外,如果您还需要一个(字符串ID)操作签名来接收某些筛选参数之类的内容,则可以选择添加额外的路由或进行一些肮脏的字符串拆分。
3.对于UI,使用/account/mythings,对于JSON,使用/things/list - 更加简洁,但您可能没有相关的控制器可以服务于“things”。此外,您再次混合了实体。
欢迎提出任何建议,谢谢!