@GetMapping("resp/json")
Public String respJsonObject(){
User user = New User();
user.setUserName("김용빈")
String data = "{~~~ JSON형식으로 직접작성}\
return data;
// User 클래스를 만들어 요청값을 User클래스가 받는것이 아닌
// Controller의 메서드가 직접 요청값을 받으면
// 해당 값의 구체적인 값에 대한 조회와 값의 새로 설정이 불가해짐
// 그러므로 요청을 받을 수 있는 클래스를 만들어 그 클래스의 key값을 적어주고
// 값을 넣어놓아야 한다.
// 이렇게 직접 Json을 작성하여 client에 전달해주는 방법이 있지만, 너무나 비효율적
@GetMapping("resp/json2")
Public String respJsonObject2(){
User user = New User();
user.setUserName("김용빈")
return user;
}
- MessageConverter가 자동으로 JavaObject를 Json으로 변경해서 통신을 통해 응답을 해준다
- @RestController 일떄만 MessageConverter가 작동한다.
Json응답할떄 내가 JSON을 만들어 응답하는 건 미친 짓
스프링부트가 내부적으로 Message Conver를 통해서 Json으로 바꿔서 응답하면 끝!
템플릿 엔진: htmlㅣ파일에 java코드 사용가능한 엔진
@Controller
public class yb{
@GetMapping("resp/json3")
Public String respJsonObject2(){
// 만들어진 DATA를 템플릿엔진 HTML에 값을 전해서 화면에 보여주고 싶다면?
// Model 클래스를 사용한다
User user = New User(Model model);
// 함수의 파라미터에 Model을 사용
user.setUserName("김용빈")
model.Addattribute("username",user.getname)
// Addattribute 가 전달해준다
// user.getname은 모든 type이 들어갈 수 있음 , why? Object Type이기떄문에.
return user;
}
}