refactored gradle project structure

This commit is contained in:
Tom Hombergs
2018-01-08 22:32:52 +01:00
parent 387d9a5711
commit 2c775cdaa2
222 changed files with 12 additions and 13 deletions

View File

@@ -0,0 +1,41 @@
package io.reflectoring;
import javax.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@RestController
public class UserController {
private UserRepository userRepository;
@Autowired
public UserController(UserRepository userRepository) {
this.userRepository = userRepository;
}
@PostMapping(path = "/user-service/users")
public ResponseEntity<IdObject> createUser(@RequestBody @Valid User user) {
User savedUser = this.userRepository.save(user);
return ResponseEntity
.status(201)
.body(new IdObject(savedUser.getId()));
}
@PutMapping(path = "/user-service/users/{id}")
public ResponseEntity<User> updateUser(@RequestBody @Valid User user, @PathVariable long id) {
User userFromDb = userRepository.findOne(id);
userFromDb.updateFrom(user);
userFromDb = userRepository.save(userFromDb);
return ResponseEntity.ok(userFromDb);
}
@GetMapping(path = "/user-service/users/{id}")
public ResponseEntity<User> getUser(@PathVariable("id") Long id) {
return ResponseEntity.ok(userRepository.findOne(id));
}
}