본문 바로가기
[ Development ]/[ Back-end ] Spring 기본

[Spring 스프링] 2-3. API

by dev charlotte 2023. 10. 3.

html 로 내리거나 api로 데이터를 바로 내리거나 둘 중 하나 

 


@Controller
public class HelloController {
 @GetMapping("hello-api")
 @ResponseBody // 매우 중요. http 통신 프로토콜의 헤더부와 바디부 중 바디부에 해당 내용 직접 넣겠다 
 public Hello helloApi(@RequestParam("name") String name) {
 Hello hello = new Hello();
 hello.setName(name);
 //  return "hello " + name; // 해당 문자가 그대로 내려감
 return hello; // 문자가 아닌 객체를 내림 -> json 방식
 }
 static class Hello {
 private String name;
 public String getName() {
 return name;
 }
 public void setName(String name) {
 this.name = name;
 }
 }
}

getter setter -> javabean 표준 방식 = 프로퍼티 접근 방식

메서드를 통해서 접근하도록

 

response body 사용 원리

@ResponseBody 를 사용

HTTP의 BODY에 문자 내용을 직접 반환

viewResolver 대신에 HttpMessageConverter 가 동작

기본 문자처리: StringHttpMessageConverter

기본 객체처리: MappingJackson2HttpMessageConverter byte 처리 등등

기타 여러 HttpMessageConverter가 기본으로 등록되어 있음