定义API路由的正确方法

时间:2019-06-06 17:25:53

标签: c# rest api

我正在学习API,并且有一个问题。

例如: 如果我有两个GET端点,例如:

  • api /公司/员工/列表
  • api / Company / Employees / {id}

这行得通吗(为什么?)或不行(为什么?)?

最好的方法是指定端点,例如:

  • api /公司/员工/列表
  • api /公司/员工/详细信息/ {id}

预先感谢

更新

我不确定如果我有两个端点,例如“ / list”和“ / {id}”,其中id是一个字符串,那么如果id =“ list”会出现问题

1 个答案:

答案 0 :(得分:1)

  

如果我有两个GET端点,例如:

api/Company/Employees/list
api/Company/Employees/{id}
     

这行得通吗(为什么?)或不行(为什么?)?

是的,它将起作用-假设您的URI路由器将与list分开处理{id}(即它将不会id = "list")。

也就是说,/list是多余的,请考虑使用GET api/Company/Employees而不是列出所有Employee资源。 HTTP方法是动词,资源路径是名词。

  

最好的方法是指定端点,例如:

api/Company/Employees/list
api/Company/Employees/Details/{id}

这不是一项改进,因为您添加了更多的路径组件而没有明显的原因。

问问自己:“ GET api/Company/Employees/{id}GET api/Company/Employees/Details/{id}有什么区别?”