반응형
ApiController.java
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api")
public class ApiController {
//TEXT
@GetMapping("/text")
public String text(@RequestParam String account) {
return account;
}
//JSON
// req - object mapper - object - method - object - object mapper - json - reaponse
@PostMapping("/json")
public User json(@RequestBody User user) {
return user;
}
// ResponseEntity
// 응답 상태를 201로 설정한다.
@PutMapping("/put")
public ResponseEntity<User> put(@RequestBody User user) {
return ResponseEntity.status(HttpStatus.CREATED).body(user);
}
}
User.java
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
@JsonInclude(JsonInclude.Include.NON_NULL) // 널값은 포함하지 않곘다는것
public class User {
private String name;
private Integer age; // int는 기본값이 0, Null값을 출력하고자 한다면 Integer를 사용하면된다.
private String phoneNumber;
private String address;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
", phoneNumber='" + phoneNumber + '\'' +
", address='" + address + '\'' +
'}';
}
}
PageController.java
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class PageController {
@RequestMapping("/main")
public String main() {
return "main.html";
}
// ResponseEntity
@ResponseBody
@GetMapping("/user")
public User user() {
var user = new User();
user.setName("jellybee");
user.setAddress("집");
return user;
}
}
main.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
Main Html Spring Boot
</body>
</html>
반응형
'Spring' 카테고리의 다른 글
[Spring] IoC (제어 역전) / DI (의존성 주입) (0) | 2022.08.09 |
---|---|
[Spring] Object Mapper (0) | 2022.08.09 |
[Spring] DELETE API (0) | 2022.08.08 |
[Spring] PUT API (0) | 2022.08.08 |
[Spring] POST API (0) | 2022.08.06 |
댓글