Membuat REST Api sederhana dengan Spring Boot Part. III — User Controller
Daftar Isi
Part IV : Membuat Endpoint Controller UserController
Prerequisite
- Kita akan mencoba mengetest aplikasi menggunakan REST API Client yang gratis yaitu Postman, kalian bisa download nya disini https://www.getpostman.com/downloads/ dan sesuaikan dengan sistem operasi laptop kalian.
Photo by Diego Jimenez on Unsplash
Dalam artikel terakhir ini, kita akan selsaikan projek membuat CRUD Rest API dengan Spring Boot. Langsung saja, buat sebuah class UserController dengan endpoint “api/users”
@RestController
@RequestMapping("/api/users")
public class UserController {
@Autowired
private final BookServiceImpl userService;
}
@RestController = Adalah Annotasi yang disediakan Spring Boot untuk membuat Response berupa REST API
@RequestMapping = Adalah endpoint yang nantinya akan kita hit menggunakan Postman
@Autowired = Pasti kalian sudah tau lah yaa, ini buat nge inject.
getAllUsers()
method ini akan mengeluarkan semua data users
@GetMapping
public List<User> getAllUsers() {
return userService.findAllUsers();
}
getUserById()
method ini akan mengeluarkan satu data user berdasarkan Id
@GetMapping("/{id}")
public ResponseEntity<User> getUserById(@PathVariable Long id) {
return userService.findUserById(id)
.map(ResponseEntity::*ok*)
.orElseGet(() -> ResponseEntity.*notFound*().build());
}
mempunyai satu parameter id dengan annotasi @PathVarible yang nanti nya akan di pass ke userService.
createUser()
sesuai dengan nama nya, method ini kita gunakan untuk menyimpan data user Baru
@PostMapping
@ResponseStatus(HttpStatus.*CREATED*)
public User createUser(@RequestBody @Validated User user) {
return userService.createUser(user);
}
menggunakan method POST karena kita akan memberi data ke server.
updateUser()
updateUser melakukan proses update user yang sudah disimpan di database menggunakan method PUT
@PutMapping("/{id}")
public ResponseEntity<User> updateUser(@PathVariable Long id, @RequestBody User user) {
return userService.findUserById(id)
.map(userObj -> {
userObj.setId(id);
return ResponseEntity.*ok*(userService.updateUser(userObj));
})
.orElseGet(() -> ResponseEntity.*notFound*().build());
}
dan yang terakhir adalah delete
@DeleteMapping("/{id}")
public ResponseEntity<User> deleteUser(@PathVariable Long id) {
return userService.findUserById(id)
.map(user -> {
userService.deleteUserById(id);
return ResponseEntity.*ok*(user);
})
.orElseGet(() -> ResponseEntity.*notFound*().build());
}
untuk source full nya sebagai berikut
Untuk code lengkap nya, teman-teman bisa clone dari repo saya di https://github.com/teten777/spring-boot-rest-api
Kesimpulan
Membuat REST API dengan Spring boot sangatlah mudah karena semua nya sudah disediakan tinggal kita menggunakannya. Untuk itu tetaplah semangat untuk belajar programming dan bila ada yang mau di tanyakan silahkan hubungi saya di email teten.nugraha18@gmail.com
dan Jika kalian ingin melakukan pengujian Unit Test nya, ini saya sudah membuat artikel nya Integrate JUnit and Mockito, Unit Testing for Service Layer On this article, we will talk about how to implement Unit Test and we will integrate unit test tool between JUnit and…medium.com
Did you find this article valuable?
Support Teten Nugraha by becoming a sponsor. Any amount is appreciated!