[SpringBoot] #07 - API

728x90

 

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/dashboard

📌 API

🔸 문자 방식

@GetMapping("hello-string")
@ResponseBody
public String helloString(@RequestParam("name") String name){
	return "hello" + name;
	}
}
  • ResponseBody : http body에 직접 내용을 넣어주겠다는 뜻
    템플릿 엔진과 다른 점은 뷰 같은 것이 없고 문자 그대로 간다. (html 코드가 없다)

🔸 API 방식

@GetMapping("hello-api")
@ResponseBody
public Hello helloApi(@RequestParam("name") String name){
	Hello hello = new Hello();
    hello.setName(name);
    return hello;
}	
public class Hello {
		private String name;
        
        //자바 빈 표준방식(규약), 프로퍼티 방식
        public String getName(){
        	return name;
            }
        public void setName(String name){
        	this.name = name;
       	 }	
	}
}
  • json 방식 (key-value 로 이루어짐)
  • getter, setter 단축키 : Ctrl + N → getter and setter 선택
  • ResponseBody 가 있으면 http body에 문자를 직접 반환
    viewResolver 대신 HttpConverter가 동작
  • HttpMassageConverter 가 동작하여 단순 문자 형태면 SpringConverter가 동작되어 그대로 반환 하나, 객체의 경우 JsonConverter 가 동작하여 json 형태로 만들어 응답을 함
    기본 문자 : StringMassageConverter
    기본 객체 : MappingJackson2HttpMassageConverter
728x90