From f4f6a54f79a1883b3da900db2297f9abd494a481 Mon Sep 17 00:00:00 2001 From: daye200 Date: Thu, 19 Sep 2024 14:35:04 +0900 Subject: [PATCH] =?UTF-8?q?spring1=EC=A3=BC=EC=B0=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cholog/MemberController.java | 16 +++++++++++----- .../main/java/cholog/MemberController.java | 19 ++++++++----------- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/spring-mvc-1/initial/src/main/java/cholog/MemberController.java b/spring-mvc-1/initial/src/main/java/cholog/MemberController.java index 08322a4e..c9a202fc 100644 --- a/spring-mvc-1/initial/src/main/java/cholog/MemberController.java +++ b/spring-mvc-1/initial/src/main/java/cholog/MemberController.java @@ -1,18 +1,24 @@ package cholog; import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; @Controller public class MemberController { - - public String world() { + @GetMapping("/hello") + public String world(@RequestParam(name="name") String name, Model model) { + model.addAttribute("name",name); // TODO: /hello 요청 시 resources/templates/static.html 페이지가 응답할 수 있도록 설정하세요. // TODO: 쿼리 파라미터로 name 요청이 들어왔을 때 해당 값을 hello.html에서 사용할 수 있도록 하세요. - return null; + return "hello"; } - +@GetMapping("/json") +@ResponseBody public Person json() { // TODO: /json 요청 시 {"name": "brown", "age": 20} 데이터를 응답할 수 있도록 설정하세요. - return null; + return new Person("brown",20); } } diff --git a/spring-mvc-2/initial/src/main/java/cholog/MemberController.java b/spring-mvc-2/initial/src/main/java/cholog/MemberController.java index 5a380e7a..b52bfff6 100644 --- a/spring-mvc-2/initial/src/main/java/cholog/MemberController.java +++ b/spring-mvc-2/initial/src/main/java/cholog/MemberController.java @@ -7,10 +7,7 @@ import java.util.concurrent.atomic.AtomicLong; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.*; @Controller public class MemberController { @@ -19,9 +16,9 @@ public class MemberController { private final AtomicLong index = new AtomicLong(1); @PostMapping("/members") - public ResponseEntity create() { + public ResponseEntity create(@RequestBody Member member) { // TODO: member 정보를 받아서 생성한다. - Member newMember = Member.toEntity(null, index.getAndIncrement()); + Member newMember = Member.toEntity(member, index.getAndIncrement()); members.add(newMember); return ResponseEntity.created(URI.create("/members/" + newMember.getId())).build(); } @@ -29,11 +26,11 @@ public ResponseEntity create() { @GetMapping("/members") public ResponseEntity> read() { // TODO: 저장된 모든 member 정보를 반환한다. - return null; + return ResponseEntity.ok().body(members); } @PutMapping("/members/{id}") - public ResponseEntity update() { + public ResponseEntity update(@RequestBody Member newmember,@PathVariable Long id) { // TODO: member의 수정 정보와 url 상의 id 정보를 받아 member 정보를 수정한다. Member member = members.stream() .filter(it -> Objects.equals(it.getId(), null)) @@ -41,11 +38,11 @@ public ResponseEntity update() { .orElseThrow(RuntimeException::new); member.update(null); - return null; + return ResponseEntity.ok().build(); } @DeleteMapping("/members/{id}") - public ResponseEntity delete() { + public ResponseEntity delete(@PathVariable Long id) { // TODO: url 상의 id 정보를 받아 member를 삭제한다. Member member = members.stream() .filter(it -> Objects.equals(it.getId(), null)) @@ -54,6 +51,6 @@ public ResponseEntity delete() { members.remove(member); - return null; + return ResponseEntity.noContent().build(); } }