개인공부 중 정리
@Controller 와
@RestController 의 차이를 알아야 구현 가능
@Controller는 view를 반환할 때 사용
@RestController는 JSON 형태로 객체를 반환할 때 사용
RestController 는 반환하는 자바 객체에 자동으로 @ResponseBody 어노테이션을 붙임.
1. 렌더링 컨트롤러
GetMapping : URL에 들어오는 요청에 html 을 렌더링해서 보여줌.
PostMapping : URL에 들어오는 요청에 file을 받아옴. 그 file을 가지고 가공할 수 있으면 result.html을 렌더링해서 보여주고, 아니면 upload.html을 보여줌(다시 post하라는 의미에서)
2. JSON 다운로드 컨트롤러
json 파일을 생성-다운로드를 관리(만)하는 컨트롤러이고
PostMapping으로 '/download-json' 쿼리가 날아오면, 어노테이션 아래 함수 기능이 동작함
이름과 나이를 Json 형식으로 반환해서 내 컴퓨터에 다운로드함
* data.json
{
"name" : "Jong",
"age" : 20
}
파일 이름은 headerValue 부분을 수정하면 원하는 파일 이름으로 다운로드 가능
3. api 처리 컨트롤러
하지만 아직 처리 후 어떻게 할지 모르겠다.
postman 입력
당연한 얘기지만 결과가 다름
Postman으로 json 파일을 업로드도 할 수 있음.
url에 upload-json 쿼리와 함께 HTTP body도 함께 날려주면, 형식에 맞는(여기선 json이고, json 형식에 맞는) 파일이라면 result.html 페이지에 json 정보를 바탕으로 결과가 나타남.
'웹 프로그래밍 > spring' 카테고리의 다른 글
@ResponseBody 어노테이션 (0) | 2025.05.26 |
---|---|
log 출력 (0) | 2025.05.25 |
댓글