Spring

1일차 실습(JSON 내용 포함)

연93 2022. 11. 3. 12:28
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.demo.domain.ProductVO;

@Controller
public class SampleController5 {

	private static final Logger Logger = LoggerFactory.getLogger(SampleController5.class);
	
	@RequestMapping("doJSON1") //주소설정
	public @ResponseBody String doJSON1() {
		
		return "Hello World";
	}
// 400번 에러 클라이언트, 500번 에러 서버
//에러발생 : No converter found for return value of type: class com.demo.domain.ProductVO
//리턴 값을 변환 시킬수없다.
//객체를 리턴값으로 사용하기 위해서는 필요한 라이브러리 추가를 해야한다.
//리턴 값의 객체가 JSON으로 변환하기위해서는 jackson-databind 라이브러리를 사용해야 한다.
// pom.xml에 jackson-databind dependecy 구문을 삽입해야한다.
// 백그라운에서 동작이된다.
	@RequestMapping("/doJSON2")
	public @ResponseBody ProductVO doJSON2() {
		
		ProductVO vo = new ProductVO("상품A", 300000);
		return vo;
	}
}
// 테이블의 구조를 참조하여, 설계한다.
// 데이터관리를 위한 클래스. VO : Value Object . DTO : data Transfer Object
public class ProductVO {
	
	private String productName; // 상품명
	private double price; // 가격
	
	
	public ProductVO(String productName, double price) {
		
		this.productName = productName;
		this.price = price;
	}
	
	/*스프링에서의 VO클래스는 getter/setter 메서드를 반드시 구성해야 한다.*/
	public String getProductName() {
		return productName;
	}
	public void setProductName(String productName) {
		this.productName = productName;
	}
	public double getPrice() {
		return price;
	}
	public void setPrice(double price) {
		this.price = price;
	}

}

'Spring' 카테고리의 다른 글

스프링에서 데이터를 받는 방법  (0) 2022.11.07
@RequestMapping, @Controller,로그 객체 기본사용  (0) 2022.11.03