오답노트
[Spring Boot] Response 본문
Request
요청에 대한 응답으로 응답 코드와 함께 body에 데이터를 보낼 수 있다.
Text, Object, JSON 응답
import com.example.response.dto.User;
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;
}
// req -> object mapper -> object -> method -> object -> object mapper -> json -> response
@PostMapping("/json")
public User json(@RequestBody User user){
return user; // 200 ok
}
// ResponseEntity
@PutMapping ("/put")
public ResponseEntity<User> put(@RequestBody User user){
return ResponseEntity.status(HttpStatus.CREATED).body(user);
}
}
텍스트를 응답할 땐 RequestParam을 사용하고 Object나 Json을 반환할 땐, RequestBody를 사용한다.
HTML 응답
import com.example.response.dto.User;
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(){
User user = new User();
user.setName("steve");
user.setAddress("패스트 캠퍼스");
return user;
}
}
이전에 RestController를 사용한것 과 달리 Controller Annotation을 사용한다.
RequestMapping을 통해서 주소를 지정하고 html 파일명을 반환하면 브라우저에 html이 출력된다.
또한 객체를 출력할 때에는 ResponseBody를 사용한다.
'Java > Spring' 카테고리의 다른 글
[Spirng] IoC, DI (0) | 2023.07.13 |
---|---|
[Spring Boot] Object Mapper (0) | 2023.07.13 |
[Spring Boot] PUT (0) | 2023.07.12 |
[Spring Boot] POST (0) | 2023.07.12 |
[Spring Boot] GET (0) | 2023.07.12 |