애노테이션 매핑 정보 사용
기존 코드
HelloController.class
package com.tobyspring.tobyspringboot;
import java.util.Objects;
public class HelloController {
private final HelloService helloService;
public HelloController(HelloService helloService) {
this.helloService = helloService;
}
public String hello(String name) {
return helloService.sayHello(Objects.requireNonNull(name));
}
}
애노테이션 매핑 정보 사용 코드
package com.tobyspring.tobyspringboot;
import java.util.Objects;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/*
DispatchServlet이 맵핑정보를 만들때 클랙스 레벨에 있는 정보를 먼저 참고한다.
그리고난 후 메소드 레벨에 붙어있는 정보를 추가합니다.
*/
@RequestMapping("/hello")
public class HelloController {
private final HelloService helloService;
public HelloController(HelloService helloService) {
this.helloService = helloService;
}
// GET 메소드를 사용하고 /hello 경로로 접근하는 요청을 매핑하겠다.
@GetMapping
/*
일반적으로 String으로 리턴을 했다면 String으로 전달된 값의 View가 존재하는지 확인합니다.
다만 현재 String으로 전달된 값의 View를 찾을 수 없으면 404 Not Found 오류가 발생하게 됩니다.
String값을 그대로 Web 응답에 Body에 넣어서 전달하게 하는 텍스트 플레인으로
전달하게 하는 방식을 사용하려면 ResponseBody를 사용하면 됩니다
*/
@ResponseBody
// RequestMapping을 사용해도 되지만 간결하게 사용하기위해 @GetMapping로 합쳐진 애노테이션이 만들어졌다.
// @RequestMapping(method = RequestMethod.GET, value = "/hello")
public String hello(String name) {
return helloService.sayHello(Objects.requireNonNull(name));
}
}
'Spring > 인프런 토비의 Spring Boot' 카테고리의 다른 글
섹션 4-8 [독립 실행형 스프링 애플리케이션] 자바코드 구성 정보 사용 (0) | 2024.06.01 |
---|---|
섹션 4-7 [독립 실행형 스프링 애플리케이션] 스프링 컨테이너로 통합 (0) | 2024.06.01 |
섹션 4-5 [독립 실행형 스프링 애플리케이션] DispatcherServlet으로 전환 (0) | 2024.06.01 |
섹션 4-4 [독립 실행형 스프링 애플리케이션] 의존 오브젝트 DI 적용 (0) | 2024.06.01 |
섹션 4-3 [독립 실행형 스프링 애플리케이션] 의존성 역전 (0) | 2024.06.01 |