개발/프로젝트

(기업프로젝트) 2 - 유라클 프로젝트 실습교육

개발하는 인사담당자 2023. 10. 12. 17:56

■ TEMURIN 다운로드

 

 

JDK : 자바 개발 환경

JRE : 자바 실행 환경

 

https://adoptium.net/temurin/releases/

 

Latest Releases | Adoptium

 

adoptium.net

 

■ 롬복 설치하기

 

 

https://projectlombok.org/download

 

Download

 

projectlombok.org

 

 

 

이클립스 선택 후 install 클릭

 

 

환경변수 경로에 넣어주기

 

■ get 방식 

 

사용자 요청 시 http 프로토콜 요청을 한다. 

1. Get

: 메세지 바디 쓰지 않는다.

1) query - parameter 방식 (조건)

key value end 방식 

ex) naver.com?key=value&...

페이지를 보여줄 때 많이 보여줌 page=1

 

2) path-variable (자원)

: 경로로 자원을 표현한다. 

ex) naver.com/member/1 

회원조회

 

unique 값을 사용할 때

 

https://gitea.com/api/swagger#/repository

 

Gitea API

 

gitea.com

 

------------------------------------------------------------

2. post

: 생성/ 새로 만든다. / 메시지 바디 쓴다. 

새로 만드는 것이라 path-variable 이 없다.

 

3. put

: 관리하는 것 수정 / 메시지 바디 쓴다. 

 

메세지 바디

1) x-www-form-url : 

2) form : 파일을 보내야 할 때

3) application-json : key=value

------------------------------------------------------------

 

4. delete

: 메시지 바디x

 

제이쓴 파써라는 기능으로 제이슨 패싱을 잘해줘서 많이 쓴다. 

 

■ maven 과 gradle 

1. maven : pom.xml 의존성 관리

장점: 따로 관리 코드 용이

 

2. gradle : build.gradle 의존성 관리

장점 : 최신 자주 사용

 

■ 실습 적용하기

 

 

gradle project 를 import 시키기

 

 

적용시켜준다.

 

■ 스피링 지원하는 파싱 어노테이션

@PathVariable : path-variable { id }

@RequestParam : query-parameter(String, int)

@ModelAttribute : Form 형태 (x-www-form-url, form)

@RequestParam : application-json (raw, binary)

 

■ 

 

의존성 주입 시 만약 repository 붙이고 이름 같을 때,

객체 타입이 같다면 

primary : 우선권을 준다.

repository : 데이터 반환하는 역할

 

test 코드는 가볍게 하기 위해 직접 작성(new) 로 생성자 주입

 

* 요청사

TODO : 작성해야 하는 숙제

MemberApiController 

이름 유니

 

■ 컨트롤러 & 서비스 

컨트롤러 : 유효성 검사, 서비스 호출

서비스 : 비즈니스 로직

 

redirect

300코드를 낸다. 

클라이언트가 재요청해라 할때 (결제 사이트)

브라우저가 서버한테 재요청 

클라이언트 너가 새로 요청해 (결제 중복 방지)

 

foward

서버 내부적으로 처리

 

■ 

Optional<Member> : Null 인지 아닌지 확인해

Conflict : 중복/충돌