2017-08-05 65 views
1

我正在使用Swagger api编写REST API。现在,我想写插入,更新方法和下列方式删除(我已经看到了很多的API这样的路径在线):我可以为REST API中的不同方法编写相同的路径名吗?

  1. POST(用于插入)

/学生

  • PUT(用于更新)
  • /生/ {studentId}

  • DELETE(用于删除)
  • /生/ {studentId}现在

    ,1是好的,但图2和3是相同的路径(但有不同的方法)。 Swagger API在编写时给我错误。那么这是不是被允许的?

    如果不允许,有什么方法可以定义不同的路径而不需要很长的时间并且看起来很酷?

    +0

    它允许在node.js中有不该”没有任何冲突..在错误中说了什么? –

    +0

    扬鞭错误 等效路径已经存在的 –

    +0

    可能的复制[扬鞭:尽管不同的参数“的等效路径已存在”](https://stackoverflow.com/questions/35478531/swagger-equivalent-path-already-exists-despite-不同的参数) –

    回答

    2

    要定义不同的方法(GET/PUT /删除/等)对于相同的路径,只列出这个路径下的这些方法,就像这样:

    paths: 
        /students/{studentId}: 
        # Common parameter for all methods on this path 
        parameters: 
         - name: studentId 
         in: path 
         ... 
    
        get: 
         summary: Get a student by ID 
         ... 
    
        put: 
         summary: Update a student 
         ... 
    
        delete: 
         summary: Delete a student 
         ... 
    
    +0

    你刚写了什么?得到相同的路径?你能再解释一下吗? –

    +0

    哦,我从来没有读过这个。这是我真正想要的。但是它是否被正式允许在同一条路径下编写多个方法? –

    +1

    ^^这是定义多个HTTP动词GET/PUT/DELETE /等的正确方法。为同一条路径。在GitHub的讨论是关于一个不同的事情(相同路径,但命名不同路径参数,例如'/学生/ {ID}''VS /学生/ {用户名}')。 – Helen

    相关问题