웹 어플리케이션을 개발하는 방식 2가지
1️⃣ SOAP ( Service Oriented Application Programming )
- 전통적인 개발 방식
- 요청: GET방식 : 조회용 ( select ) ⇒ @GetMapping
POST방식 : 수정용 (insert, delete, update ) ⇒ @PostMapping - 응답: html / jsp ⇒ 웹 브라우저가 필요
⇒ 화면이 필요 (일반 유저가 보는) - 서버에 데이터 전달 방법: query string
예> http://localhost:8090/app/addMember?name=hong&age=20
SOAP은 서로 다른 언어의 플랫폼에서 빌드된 어플리케이션이 서로 통신할 수 있도록 설꼐된 최초의 표준 프로토콜이다.
SOAP의 장점은 기존의 원격 기술대비 프록시&방화벽의 구애를 받지 않고, 플랫폼이나 프로그램이 언어에 있어서 독립적이고, 분산처리 환경에서 사용하기 적합하고, 웹 서비스 표준이 잘 정립되어 있다는 것이다.
반면, 단점은 REST에 비해 상대적으로 무거우며 속도가 느리다는 것이다.
2️⃣ REST ( REpresentational State Transfer )
- 포털 사이트가 주도 한 개발 방식
- 요청: GET방식 : 조회용 ( select ) ⇒ @GetMapping
POST방식 : 수정용 (insert, delete, update ) ⇒ @PostMapping
PUT방식 : 수정용 ( update ) ⇒ @PutMapping
DELETE방식 : 삭제용 ( delete ) ⇒ @DeleteMapping - 아직까지 html은 GET방식과 POST방식만 지원된다.
PUT방식과 DELETE방식은 도구(curl, postman) 및 라이브러리(Swagger API) 를 이용해야 된다. - 응답: JSON (XML) ⇒ 웹 브라우저가 불필요
⇒ 화면이 불필요 ★
⇒ 다양한 디바이스(핸드폰,테블릿)가 있고 JSON 처리가 가능하다. - 서버에 데이터 전달 방법 ( URL에 포함 ) ⇒ ? 가 없음
예> http://localhost:8090/app/name/hong/age/20
@GetMapping
@PostMapping
@PutMapping
@DeleteMapping

3️⃣ Swagger 사용방법
1. 의존성 설정
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>

2. SwaggerConfig.java
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors
.basePackage("컨트롤러패키지명"))
.paths(PathSelectors.any())
.build();
}
}

3. 서버 실행후 Swagger(dashboard) 요청
http://localhost:8090/app/swagger-ui.html



DTO와 List 추가




'Framework > SPRING BOOT' 카테고리의 다른 글
Thymeleaf (0) | 2023.09.26 |
---|---|
@PathVariable (0) | 2023.09.26 |
@Value (0) | 2023.09.25 |
springboot에서 설정 정보 파일 (0) | 2023.09.25 |
HandlerInterceptor (0) | 2023.09.25 |
웹 어플리케이션을 개발하는 방식 2가지
1️⃣ SOAP ( Service Oriented Application Programming )
- 전통적인 개발 방식
- 요청: GET방식 : 조회용 ( select ) ⇒ @GetMapping
POST방식 : 수정용 (insert, delete, update ) ⇒ @PostMapping - 응답: html / jsp ⇒ 웹 브라우저가 필요
⇒ 화면이 필요 (일반 유저가 보는) - 서버에 데이터 전달 방법: query string
예> http://localhost:8090/app/addMember?name=hong&age=20
SOAP은 서로 다른 언어의 플랫폼에서 빌드된 어플리케이션이 서로 통신할 수 있도록 설꼐된 최초의 표준 프로토콜이다.
SOAP의 장점은 기존의 원격 기술대비 프록시&방화벽의 구애를 받지 않고, 플랫폼이나 프로그램이 언어에 있어서 독립적이고, 분산처리 환경에서 사용하기 적합하고, 웹 서비스 표준이 잘 정립되어 있다는 것이다.
반면, 단점은 REST에 비해 상대적으로 무거우며 속도가 느리다는 것이다.
2️⃣ REST ( REpresentational State Transfer )
- 포털 사이트가 주도 한 개발 방식
- 요청: GET방식 : 조회용 ( select ) ⇒ @GetMapping
POST방식 : 수정용 (insert, delete, update ) ⇒ @PostMapping
PUT방식 : 수정용 ( update ) ⇒ @PutMapping
DELETE방식 : 삭제용 ( delete ) ⇒ @DeleteMapping - 아직까지 html은 GET방식과 POST방식만 지원된다.
PUT방식과 DELETE방식은 도구(curl, postman) 및 라이브러리(Swagger API) 를 이용해야 된다. - 응답: JSON (XML) ⇒ 웹 브라우저가 불필요
⇒ 화면이 불필요 ★
⇒ 다양한 디바이스(핸드폰,테블릿)가 있고 JSON 처리가 가능하다. - 서버에 데이터 전달 방법 ( URL에 포함 ) ⇒ ? 가 없음
예> http://localhost:8090/app/name/hong/age/20
@GetMapping
@PostMapping
@PutMapping
@DeleteMapping

3️⃣ Swagger 사용방법
1. 의존성 설정
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>

2. SwaggerConfig.java
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors
.basePackage("컨트롤러패키지명"))
.paths(PathSelectors.any())
.build();
}
}

3. 서버 실행후 Swagger(dashboard) 요청
http://localhost:8090/app/swagger-ui.html



DTO와 List 추가




'Framework > SPRING BOOT' 카테고리의 다른 글
Thymeleaf (0) | 2023.09.26 |
---|---|
@PathVariable (0) | 2023.09.26 |
@Value (0) | 2023.09.25 |
springboot에서 설정 정보 파일 (0) | 2023.09.25 |
HandlerInterceptor (0) | 2023.09.25 |