API 서버(API Server)는 클라이언트 애플리케이션과 서비스 간의 상호작용을 담당하는 서버입니다. API(응용 프로그래밍 인터페이스)는 애플리케이션 간 데이터 및 기능을 교환하기 위한 규약이며, API 서버는 이러한 API를 제공하고 관리합니다.
API 서버의 주요 목적은 클라이언트 애플리케이션에서 필요로 하는 데이터를 제공하고, 서비스의 기능을 사용할 수 있도록 하는 것입니다. 클라이언트는 API 서버에 HTTP 요청을 보내어 데이터를 요청하거나 서비스를 호출하며, API 서버는 이러한 요청을 처리하고 응답을 반환합니다.
-chatGPT
@Controller
public class HelloController {
@GetMapping("hello-string")
@ResponseBody
public String helloString(@RequestParam("name") String name) {
return "hello " + name;
}
}
/hello-string에 query string을 작성해서 보내게 되면은 응답으로 http body에 문자 내용을 직접 반환하다.
@ReponseBody를 사용하면은 viewResolver를 사용하지 않는다.
다음은 http://localhost:8080/hello-string?name=spring!으로 요청을 보낸 결과이다.
@Controller
public class HelloController {
@GetMapping("hello-api")
@ResponseBody
public Hello helloApi(@RequestParam("name") String name){
Hello hello = new Hello();
hello.setName(name);
return hello;
}
static class Hello {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
}
다음은 controller가 return으로 object를 반환할 경우이다. 위와 같은 경우에 접근을 할 경우
JSON 방식으로 응답이 온다.
전체적인 그림은 다음과 같다.