스프링 웹 개발 기초

2023. 12. 19. 14:19
728x90

웹 개발? 

1) 정적 컨텐츠

2) MVC와 템플릿 엔진

3) API > JSON 형태로 내려주는 것 

 

1) 정적 컨텐츠

 

2) MVC와 템플릿 엔진

MVC?  : Model - View - Controller

    @GetMapping("hello-mvc")
    public String helloMvc(@RequestParam("name") String name, Model model) {
        model.addAttribute("name", name);
        return "hello-templates";
    }

 

3) API

@ResponseBody : 응답 바디부에 이 데이터를 직접 넣어주겠다는 뜻

    @GetMapping("hello-string")
    @ResponseBody
    public String helloSTring(@RequestParam("name") String name) {
        return "hello "+name;
    }

>> 글자 그대로 출력 (html 거치지 않고)

 

    @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;
        }
    } // 객체를 만들어 주었다.

 

>> 결과가 JSON 형태로 나온다.

 

> @ResponseBody로 들어오면

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

- ViewResolver 대신에 HttpMessageConverter가 동작! 

  • 기본 문자처리 ~> StringHttpMessageConverter
  • 기본 객체처리 ~> MappingJackson2HttpMessageConverter 에서 >> JSON 스타일로 바꿔서 화면에 보여줌~
728x90

BELATED ARTICLES

more