diff --git a/README.md b/README.md new file mode 100644 index 0000000..4443e3f --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +http://localhost:8080/test/hello + +Ha sikerult elinditani az alkalmazast akkor ezen az url-en kapnod kell egy `hello world`-ot + +Hasznalj vagy postman-t vagy insomnia-t REST requestek kuldesere. + + +# #1 +A User osztalyba vedd fel az alabbi private valtozokat: +- String userName +- int age + +Generaljal hozzajuk settert meg gettert (jobb klik generate) + +# #2 +A UserController osztalyt alakitsd RestController-e es a mappingje legyen user \ No newline at end of file diff --git a/pom.xml b/pom.xml index 385f79c..1c4bd37 100644 --- a/pom.xml +++ b/pom.xml @@ -35,6 +35,13 @@ spring-boot-starter-web + + org.projectlombok + lombok + 1.18.40 + provided + + org.springframework.boot spring-boot-starter-test diff --git a/src/main/java/istvan/java/controllers/TestController.java b/src/main/java/istvan/java/controllers/TestController.java index 50ef470..bb85773 100644 --- a/src/main/java/istvan/java/controllers/TestController.java +++ b/src/main/java/istvan/java/controllers/TestController.java @@ -1,13 +1,21 @@ package istvan.java.controllers; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -@RestController +@RestController //Ettol az annotaciotol a benne levo methodusok elerhetoek rest endpointkent +@RequestMapping("test") // Ez a mappingje localhost:8080/test alatt tudod elerni az itt levo endpointokat public class TestController { - @GetMapping("hello") + + Logger logger = LoggerFactory.getLogger(TestController.class); + + @GetMapping("hello") // REST GET tipusu requestet fogad, a zarojelben levo string pedig a vegpont a class mappingjevel kiegeszitve, szoval localhost:8080/test/hello public String hello(){ + logger.info("Meghivodott a hello world methodus :)"); return "hello world"; } } diff --git a/src/main/java/istvan/java/controllers/UserController.java b/src/main/java/istvan/java/controllers/UserController.java new file mode 100644 index 0000000..ca531d4 --- /dev/null +++ b/src/main/java/istvan/java/controllers/UserController.java @@ -0,0 +1,46 @@ +package istvan.java.controllers; + +import istvan.java.dto.CreateUserRequest; +import istvan.java.entity.User; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.ArrayList; +import java.util.List; + +/* +Csinalj ebbol az osztalybol egy RestControllert, es a mappingje legyen "user" +createNewUser() methodus parameter-e legyen egy CreateUserRequest es a valtozo neve legyen request. +Postmanbol / Insomniabol json formatumban fogjuk ezt bekuldeni, es ahhoz hogy ezt a json-t automatikusan java osztalyra convertalja hasznalj RequestBody annotaciot +Pelda: https://www.baeldung.com/spring-request-response-body masodik sectionje +A request alapjan hozz letre egy User-t setteld az ertekeit es add hozza a userList-hez. +A methodus-ra tegyel Post mappinget + +A get Users methodusra tegyel Get Mappinget. +A void helyett legyen ResponseEntity, es returnold a userListet response entitykent +Szintent https://www.baeldung.com/spring-request-response-body masodik sectionje csak http status helyett a listat adja vissza. + +Postmanbol / Insomniabol meghivjuk a localhost:8080/user url-t POST methoduskent akkor request bodyba tedd az alabbi jsont es kuld be. +{ + "name": "Istvan", + "age": 18 +} +Szinten localhost:8080/user de GET methoduskent request body nelkul vissza kell kapnod az elmentet user-eket. +*/ + + + +public class UserController { + + Logger logger = LoggerFactory.getLogger(UserController.class); + List userList = new ArrayList<>(); + + public void createNewUser(CreateUserRequest request){ + } + + public void getUsers(){ + } + +} diff --git a/src/main/java/istvan/java/dto/CreateUserRequest.java b/src/main/java/istvan/java/dto/CreateUserRequest.java new file mode 100644 index 0000000..f4fd8c4 --- /dev/null +++ b/src/main/java/istvan/java/dto/CreateUserRequest.java @@ -0,0 +1,8 @@ +package istvan.java.dto; + + +/* +Ugyan ezeket a valtozokat es annotaciokat vedd fel itt is es utana folytasd a UserController osztalyba +*/ +public class CreateUserRequest { +} diff --git a/src/main/java/istvan/java/entity/User.java b/src/main/java/istvan/java/entity/User.java new file mode 100644 index 0000000..a165a6f --- /dev/null +++ b/src/main/java/istvan/java/entity/User.java @@ -0,0 +1,16 @@ +package istvan.java.entity; + +/* +Az alabbi valtozokat hozd letre a User classba +string username +int age + +Vedd fel az alabbi annotaciokat az osztalyra @Data @ToString +A data az getter es settereket general buildelesnel, a to String meg a meglevo valtozok alapjan egy toString methodust. + +Nyisd meg a CreateUserRequest osztalyt es ott folytasd a feladatot +*/ + + +public class User { +}