2017-08-05 42 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

    相關問題