Advertisement
Guest User

Untitled

a guest
Jul 11th, 2018
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 1.34 KB | None | 0 0
  1. package com.slowinski.radoslaw.cryptomarket
  2.  
  3. import com.slowinski.radoslaw.cryptomarket.model.User
  4. import com.slowinski.radoslaw.cryptomarket.model.Wallet
  5. import com.slowinski.radoslaw.cryptomarket.repository.UserRepository
  6. import com.slowinski.radoslaw.cryptomarket.repository.WalletRepository
  7. import org.springframework.beans.factory.annotation.Autowired
  8. import org.springframework.http.HttpStatus
  9. import org.springframework.web.bind.annotation.*
  10.  
  11. @RestController
  12. class CryptoController {
  13.  
  14.     @Autowired
  15.     lateinit var userRepository: UserRepository
  16.  
  17.     @Autowired
  18.     lateinit var walletRepository: WalletRepository
  19.  
  20.  
  21.     @GetMapping("user/{id}")
  22.     fun getUser(@PathVariable id: Long): User {
  23.         return userRepository.findById(id).orElseThrow { throw UserNotFoundException("nie ma takiego usera") }
  24.     }
  25.  
  26.     @PostMapping("user")
  27.     fun addUser(@RequestParam("firstName") firstName: String,
  28.                 @RequestParam("lastName") lastName: String): User {
  29.  
  30.         val wallet = Wallet(usd = 100.50)
  31.         walletRepository.save(wallet)
  32.  
  33.         val user = User(firstName = firstName, lastName = lastName, wallet = wallet)
  34.         userRepository.save(user)
  35.  
  36.         return user
  37.     }
  38. }
  39.  
  40. @ResponseStatus(HttpStatus.NOT_FOUND)
  41. class UserNotFoundException(override val message: String) : RuntimeException(message)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement