【问题标题】:How REST call should look like?REST 调用应该是什么样子?
【发布时间】:2015-12-21 12:25:48
【问题描述】:

我的系统有Employees、Designation、DesignationHierarchy。并且基于 DesignationHierarchy 我有 EmployeeHierarchy。

我有以下 REST URL,

要访问员工,

//employees/:empployeeNo

访问指定

//designations/:designationNo

要获得 Employee with Designation,

//employees/:employeeNo/designations/:designation/:id    //Here I have used id of EmployeeDesignation resource because there are multiple entries for that employee with same designation for different timespans

当我说层次结构时,它不是 Employee 的层次结构,而是 EmployeeDesignation 资源的层次结构。

要更新我使用的员工层次结构,

//employees/:empNo/designations/:designation/:id/hierarchy

我还需要一个休息电话来查看日期的员工层次结构图, 我使用了以下网址,

/employee/:employeeNo/designations/:designation/Hierarchy/graph?date=

我在层次结构下创建了子资源图。

根据标准约定,这些 REST URL 是否正确?

如有错误请指正!!

【问题讨论】:

    标签: rest url spring-rest


    【解决方案1】:

    是的,就 RESTful 架构风格而言,您建议的 URI 完全有效且正确。

    我想到的唯一一件事是使用太长的 URI 不是一个好习惯。我的意思是在某些情况下你可以缩短:

    /res1/{ID1}/res2/{ID2}/res3/{ID3}/
    

    例如:

    /res3/{ID3}/
    

    虽然在您提供的这个特定示例中它可能没有多大意义,但是值得记住的是避免使用太长的 URI。

    【讨论】:

    • 关于缩短 url,我考虑过这一点,对于 Hierarchy 资源,我想将其作为主要资源。对 update 层次结构 //hierarchy/:employeeDesignationIdget graph //hierarchy/graph 说。这听起来有效吗?
    • @sillyquestions,是的,确实有道理。
    猜你喜欢
    • 2013-10-31
    • 1970-01-01
    • 1970-01-01
    • 2014-12-12
    • 1970-01-01
    • 2015-12-09
    • 2017-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多