728x90
Spring Boot
XxxController.java
@GetMapping(value="xxx", produces=MediaType.APPLICATION_PDF_VALUE)
produces : 서버가 클라이언트에게 반환하는 데이터 타입을 명시
@PreAuthorize("hasAnyAuthority('xxx')")
@PreAuthroize : 메서드 호출 직전에 유저의 매서드 실행, 특정 매서드 인수의 사용 권한이 있는지 체크
domain.java
@Builder
public Xxx (Long id){
thie.id = id;
}
XxxApi.java
HttpHeaders headers = new Headers();
headers.setContentType(MediaType.APPLICATION_PDF);
headers.serAccept(Collections.singletonList(MediaType.APPLICATION_PDF));
headers.setAcceptLanguageAsLocales(Collections.singletonList(locale));
HttpEntity<String> entity = new HttpEntity<>(headers);
ResponseEntity<byte[]> responseEntity = xxxRestTemplate.exchange(url, HttpMethod.GET, entity, byte[].class);
//responseEntity.getStatusCode()
//responseEntity.getBody()
xxxRestTemplate.exchange : 호출 후 원하는 방식으로 리턴
React
const xxx = yield call(xxxAPI.getXxx, action.payload)
yield : 비동기 처리
call : 특정 함수를 호출하고, 결과물이 반환 될 때까지 기다려줌
action.payload : 액션이 지니고 있는 값 조회
dispatch() : HTML 안에서 reducer함수를 동작
let : 중복 선언 불가능, 재할당 가능
const : 중복 선언 불가능, 재할당 불가능
동기
- 작업(task)들이 순차적으로 이루어 지는 것. ex) A 종료 -> B 시작
- 다른 작업들을 blocking한다.
비동기
- 작업(task)들이 순차적으로 이루어지지 않는다. ex) A -> B 순서의 작업이 있다면 A를 종료하기 전에 B를 실행할 수 있다.
- 다른 작업들을 non-blocking한다.
- javascript를 사용한 비동기 통신 방식을 Ajax(Asynchronous Javascript and XML)라고 한다.
- HTTP 요청(GET, POST ...), 이벤트 핸들러(click, over ...), setTimeout, setInterval 이 있다.
'두두의 IT' 카테고리의 다른 글
스프링이란? (0) | 2022.10.11 |
---|---|
2차 과제 중 (0) | 2022.09.29 |
IntelliJ + Spring Boot + Postgresql + AWS RDS 설정 (2) | 2022.06.27 |
소프트웨어 테스팅이란? (0) | 2022.06.21 |
nGrinder로 성능 테스트해보기 (0) | 2022.06.20 |