2016-11-20 5 views
0

Единственный способ я нашел, чтобы обновить запись в Vapor это:Как обрабатывать HTTP-запрос PUT в Vapor?

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 

} 

Однако это не очень RESTful способ сделать это, так как он выполняет запрос GET с параметром вместо запроса PUT.

Как выполнить запрос PUT в Vapor?

ответ

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 в Vapor, просто добавьте .put метод, который принимает Int (или String, или введите любые данные, которые вы хотели бы), и принимает формат JSON (или как вы 'd like), и просто обновлять, как это запрос POST.

Смежные вопросы