Spring - JSON / HTML 응답 보완

김용빈·2022년 9월 9일
0

JSON으로 응답하여 Client에 전달해주고 싶을떄

@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; 
    
}
  1. MessageConverter가 자동으로 JavaObject를 Json으로 변경해서 통신을 통해 응답을 해준다
  2. @RestController 일떄만 MessageConverter가 작동한다.

Json응답할떄 내가 JSON을 만들어 응답하는 건 미친 짓
스프링부트가 내부적으로 Message Conver를 통해서 Json으로 바꿔서 응답하면 끝!

HTML

템플릿 엔진: 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; 
  }
}

profile
안녕하세요!

0개의 댓글