diff --git a/spring-mvc/springmvc/src/main/java/com/example/springmvc/basic/response/ResponseBodyController.java b/spring-mvc/springmvc/src/main/java/com/example/springmvc/basic/response/ResponseBodyController.java new file mode 100644 index 00000000..3299adff --- /dev/null +++ b/spring-mvc/springmvc/src/main/java/com/example/springmvc/basic/response/ResponseBodyController.java @@ -0,0 +1,53 @@ +package com.example.springmvc.basic.response; + +import com.example.springmvc.basic.HelloData; +import lombok.extern.slf4j.Slf4j; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.ResponseStatus; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +@Slf4j +@Controller +public class ResponseBodyController { + + @GetMapping("/response-body-string-v1") + public void responseBodyV1(HttpServletResponse response) throws IOException { + response.getWriter().write("ok"); + } + + @GetMapping("/response-body-string-v2") + public ResponseEntity responseBodyV2() { + return new ResponseEntity<>("ok", HttpStatus.OK); + } + + @ResponseBody + @GetMapping("/response-body-string-v3") + public String responseBodyV3() { + return "ok"; + } + + @GetMapping("/response-body-json-v1") + public ResponseEntity responseBodyJsonV1() { + HelloData helloData = new HelloData(); + helloData.setUsername("userA"); + helloData.setAge(20); + return new ResponseEntity<>(helloData, HttpStatus.OK); + } + + @ResponseStatus(HttpStatus.OK) + @ResponseBody + @GetMapping("/response-body-json-v2") + public HelloData responseBodyJsonV2() { + HelloData helloData = new HelloData(); + helloData.setUsername("userA"); + helloData.setAge(20); + return helloData; + } +}