2016-11-20 30 views
0

我發現更新蒸氣記錄的唯一方法是這樣的:如何處理Vapor中的PUT HTTP請求?

drop.get("update") { request in 

    guard var first = try Acronym.query().first(), 
    let long = request.data["long"]?.string else { 
    throw Abort.badRequest 
    } 
    first.long = long 
    try first.save() 
    return first 

} 

但是它沒有這樣做,因爲它的執行與一個參數,而不是一個PUT請求GET請求非常RESTful方式。

如何在Vapor中執行PUT請求?

回答

0
drop.put("update") { request in 
    guard var first = try Acronym.query().first(), 
    let long = request.data["long"]?.string else { 
    throw Abort.badRequest 
    } 

    first.long = long 
    try first.save() 

    return first 
} 
2

事實證明,執行PUT以及其他HTTP方法就像將.get().post()更改爲.put()或任何其他HTTP方法一樣簡單。

至於我的問題,創造蒸氣PUT功能,只需簡單地增加一個.put方法,它接受一個Int(或字符串,或任何類型的數據,你想),並接受JSON(或任何格式您'喜歡),並簡單地更新,就像它是一個POST請求。