From d74773207b88f886ef7e9f85b751954bcc05eddb Mon Sep 17 00:00:00 2001 From: Oozenf <82686114+Oozenf@users.noreply.github.com> Date: Wed, 27 Jul 2022 14:20:56 +0300 Subject: [PATCH] Author Controller has been uploading --- .../api/controllers/AuthorController.java | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 day-08/api/src/main/java/com/bookstore/api/controllers/AuthorController.java diff --git a/day-08/api/src/main/java/com/bookstore/api/controllers/AuthorController.java b/day-08/api/src/main/java/com/bookstore/api/controllers/AuthorController.java new file mode 100644 index 0000000..1400898 --- /dev/null +++ b/day-08/api/src/main/java/com/bookstore/api/controllers/AuthorController.java @@ -0,0 +1,79 @@ +package com.javareactcamp.bookstoreapi.Controller; + +import com.javareactcamp.bookstoreapi.Entities.Author; +import com.javareactcamp.bookstoreapi.Entities.request.BookRequestForPost; +import com.javareactcamp.bookstoreapi.Entities.request.BookRequestForPut; +import com.javareactcamp.bookstoreapi.services.Abstract.AuthorService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +@RestController +@RequestMapping("api/v1/authors") +@Slf4j +public class AuthorController { + + private final AuthorService authorService; + + public AuthorController(AuthorService authorService) { + this.authorService = authorService; + } + + @GetMapping() + public ResponseEntity getAllAuthor(){ + + + var apiResponse = authorService.getAllAuthor(); + + return new ResponseEntity<>(apiResponse,apiResponse.getHttpStatus()); + + } + + @GetMapping("/{id}") + public ResponseEntity getOneAuthor(@PathVariable("id") int id){ + + + var apiResponse = authorService.getOneAuthor(id); + + return ResponseEntity + .status(apiResponse.getHttpStatus()) + .body(apiResponse); + } + + @PostMapping() + public ResponseEntity postOneAuthor(@Valid @RequestBody Author author){ + + + var apiResponse = authorService.postOneAuthor(author); + + return new ResponseEntity<>(apiResponse,apiResponse.getHttpStatus()); + } + + @PutMapping("/{id}") + public ResponseEntity putOneAuthor(@PathVariable(name="id" , required=true) int id, @RequestBody Author author) { + + var apiResponse = authorService.putOneAuthor(id,author); + + + return ResponseEntity + .status(apiResponse.getHttpStatus()) + .body(apiResponse); + + + } + + + @DeleteMapping("/{id}") + public ResponseEntity deleteOneAuthor(@PathVariable("id") int id) { + + + var apiResponse = authorService.deleteOneAuthor(id); + + return ResponseEntity + .status(apiResponse.getHttpStatus()) + .body(apiResponse); + + } +}