Guest User

Untitled

a guest
Mar 20th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. import Vapor
  2.  
  3. struct UsersController: RouteCollection {
  4. func boot(router: Router) throws {
  5. // user route için /api/users üzerinden erişmek istiyorum.
  6. let usersRoutes = router.grouped("api", "users")
  7. // user oluşturmak için yazdığımız fonksiyonu kaydettik.
  8. usersRoutes.post(use: createUser)
  9. // get request'i ile tüm user'ları getireceğiz.
  10. usersRoutes.get(use: getAllUsers)
  11. // parametre ile get isteği yapıp tek bir user getireceğiz.
  12. usersRoutes.get(User.parameter, use: getUser)
  13. }
  14.  
  15. // user oluşturmak için kullandığımız fonksiyon
  16. func createUser(_ req: Request) throws -> Future<User> {
  17. return try req.content.decode(User.self).flatMap(to: User.self, { user in
  18. return user.save(on: req)
  19. })
  20. }
  21.  
  22. // tüm user'ları getirecek fonksiyon
  23. func getAllUsers(_ req: Request) throws -> Future<[User]> {
  24. return User.query(on: req).all()
  25. }
  26.  
  27. // tek bir user getirmek için kullanacağımız fonksiyon
  28. // user'ı parametre ile getireceğimiz için
  29. // User sınıfına Parameter extension'ı ekliyoruz.
  30. func getUser(_ req: Request) throws -> Future<User> {
  31. return try req.parameter(User.self)
  32. }
  33. }
  34.  
  35. extension User: Parameter {}
Add Comment
Please, Sign In to add comment