일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ㅓㅂ
- 마지막에 배열의 foreach구문이 틀린것같은데 ...... 저게왜틀린건지나는잘모르겠슴다.
- form.getImageFies 오타났음
- bindingresult 쓰니까 에러났다. 어떻게해야하냐;;
- 그럼 int배열의 deefault값은?????
- 출처:구멍가게코딩단-코배스(개정판)
- 행열. 2중반복문..
- boolean배열
- (참고로 boolean 배열의 default 값은 false 이다.
- while문이 틀린이유?? math.random()을 사용해서푸는법?
- 생활코딩
- Today
- Total
푸린세스
@RestController의 반환타입 본문
@RestController의 반환타입
1. 단순문자열 반환
@RestController:
JSP와 달리 순수한 데이터를 반환하는 형태
다양한 포맷의 데이터 전송가능 (주로 일반문자열, JSON,XML 등을 사용)
@Controller -> String으로 문자열반환시 jsp파일이름
@RestController -> 문자열 반환시 순수한 데이터
@RestController
@RequestMapping("/sample")
@Log4j
public class SampleController {
@GetMapping(value= "/getText", produces="text/plain; charset=UTF-8")
public String getText() {
log.info("MIME TYPE: "+ MediaType.TEXT_PLAIN_VALUE);
return "안녕하세요";
}
}
2. 객체를 반환
객체를 반환시 JSON이나 XML을 이용한다.
@GetMapping(value="/getSample", produces= {MediaType.APPLICATION_JSON_UTF8_VALUE, MediaType.APPLICATION_XML_VALUE})
public SampleVO getSample() {
return new SampleVO(112, "스타", "로드");
}
@GetMapping(value="/getSample2")
public SampleVO getSample2() {
return new SampleVO(112, "스타", "로드");
}
기본 반환되는 형태가 XML이다?
3.컬렉션 타입객체반환
여러 데이터를한번에 전송하기 위해서
배열,List,Map 타입의 객체를 전송한다.
@GetMapping(value="/getList")
public List<SampleVO> getList(){
return IntStream.range(1,10).mapToObj(i -> new SampleVO(i, i+" First", i+" Last")).collect(Collectors.toList());
}
@GetMapping(value= "/getMap")
public Map<String, SampleVO> getMap(){
Map<String, SampleVO> map = new HashMap<>();
map.put("First", new SampleVO(111, "그루트", "주니어"));
return map;
}
4. ResponseEntity타입
Rest방식으로 호출 하는 경우 -> 서버는 브라우저에게 화면 자체가 아니라 데이터를 전송한다.
데이터를 요청한 브라우저쪽에서는 정상적인 데이터인지 비정상적 데이터인지를 구분할 수 있는 확실한 방법을 제공해야한다.
ResponseEntity : 데이터 + HTTP헤더상태메세지를 같이 전달하는 용도로 사용한다.
받는 입장에서는 확실하게 결과를 알수있다.
@GetMapping(value="/check", params = {"height", "weight"})
public ResponseEntity<SampleVO> check(Double height, Double weight){
SampleVO vo = new SampleVO(0, "" + height, ""+ weight);
ResponseEntity<SampleVO> result = null;
if(height <150) {
result= ResponseEntity.status(HttpStatus.BAD_GATEWAY).body(vo);
} else {
result = ResponseEntity.status(HttpStatus.OK).body(vo);
}
return result;
}
{
- "mno": 0,
- "firstName": "140.0",
- "lastName": "50.0"
}
'spring > 구멍가게코딩단-스프링' 카테고리의 다른 글
ReplyMapperTests (0) | 2023.05.09 |
---|---|
mybatis 검색.->totalCount 바꾸기. (0) | 2023.05.08 |
페이징화면 처리 (14장) (0) | 2023.05.06 |
rownum과 index (0) | 2023.05.06 |
MySQL ~ log4jdbc 설정하기. (0) | 2023.05.03 |