| 종류 | 환경 |
|---|---|
| IDE | Intellij IDEA 2023.1.2 (Ultimate Edition) |
| 언어 | SpringBoot 3.1.0 |
| 타입 | Gradle - Groovy |
| JDK | corretto-17 |
| 패키지 생성 | Jar |
| 버전관리 | Github |
| 종류 | 이름 |
|---|---|
| Web | Spring web |
| Developer Tools | Spring Processor / Lombok |
@RequestMapping은 스프링 4.3버전 이후 잘 사용되지 않음
package com.springboot.hello.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api/v1/post-api")
public class PostController {
//@RequestMapping으로 구현하기
@RequestMapping(value = "/domain", method = RequestMethod.POST)
public String postExample() {
return "Hello Post API";
}
}

package com.springboot.hello.controller;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@RestController
@RequestMapping("/api/v1/post-api")
public class PostController {
//@RequestBody를 활용한 Post 메서드 구현
@PostMapping(value = "/member")
public String postMember(@RequestBody Map<String, Object> postData) {
StringBuilder sb = new StringBuilder();
postData.entrySet().forEach(map -> {
sb.append(map.getKey() + ":" + map.getValue() + "\n");
});
//postData.forEach((key, value) -> sb.append(key).append(":").append(value).append("\n"));
return sb.toString();
}
}

package com.springboot.hello.dto;
public class MemberDto {
private String name;
private String email;
private String organization;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getOrganization() {
return organization;
}
public void setOrganization(String organization) {
this.organization = organization;
}
@Override
public String toString() {
return "MemberDto{" +
"name='" + name + '\'' +
", email='" + email + '\'' +
", organization='" + organization + '\'' +
'}';
}
}
package com.springboot.hello.controller;
import com.springboot.hello.dto.MemberDto;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@RestController
@RequestMapping("/api/v1/post-api")
public class PostController {
//DTO 객체를 활용한 POST 메서드 구현
@PostMapping(value = "/member2")
public String postMemberDto(@RequestBody MemberDto memberDto) {
return memberDto.toString();
}
}
