본문 바로가기

JAVA

[Spring Boot] REST 연결

Spring Boot 특징

  • Context Path가 없다
  • Tomcat 내장 되어져있다
  • JSP 지원하지 않는다
  • web.xml이 없다. => WEB-INF가 없다

Spring Boot 장점

  • Maven보다 간단하다
  • 버전을 자동적으로 맞춘다.

Swagger: http://127.0.0.1:7788/swagger-ui.html#/Encore_HRM

- RESTful 개발자가 제작한다. 

- client개발자가 참고하여 front 등을 제작한다

- swagger에 들어가면 mapping이 어떻게 적용되었고 어떤 기능들이 존재하는지 한 눈에 알수 있다.

 

CrossOrigin 사용하여야 restful서비스를 비동기로 받아올 수 있다.


<Spring boot 세팅>

1. Spring boot - spring start boot project 생성
   이때 --> Packaging을 war로 바꿔준다
          --> 자바버전을 바꿔준다 8
   dependency 기본 추가 Spring boot devTools, Spring Web
    Maven - update Project 실행

   webapp 폴더에 html 문서 추가(hello.html) :: 스프링부트는 ContextPath가 없다
   src/main/resources/application.properties 파일에 아래 내용 추가
# root context and port settings
# server.servlet.context-path=/boot
   server.port=7788
   프로젝트- Run as - Spring Boot App 실행 후 html 페이지 생성 확인

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

2. JSP 세팅
   pom.xml 에 아래 dependency 추가
   <!-- jsp 설정 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>

   Maven - update Project 실행

   src/main/resources/application.properties 파일에 아래 내용 추가
   # jsp path
   spring.mvc.view.prefix=/WEB-INF/views/
   spring.mvc.view.suffix=.jsp
  
   webapp 하위 폴더 생성 /WEB-INF/views/

   result.jsp 파일 추가하기
   <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
   <!DOCTYPE html>
   <html>
   <head>
   <meta charset="UTF-8">
   <title>Insert title here</title>
   </head>
   <body>
       Hello ${data }
   </body>
   </html>

   src/main/java/com.ssafy.rest.controller 에 HelloController.java 생성하여 아래소스 추가
    
    @Controller
    public class HelloController {


@GetMapping("/hello")
public String hello(HttpServletRequest req) {
req.setAttribute("data", "ssafy");
return "result";
}

    }
    --> http://localhost:8080/ssafyapi/hello  접속하여 JSP 연결 테스트
---------------------------------------------------------------------------------------
3. Mybatis 연결 설정
   DB 생성되지 않은 상황이면 s_emp.sql 구문 실행하여 DB 생성 후 아래 작업 진행

   pom.xml 에 아래 dependency 추가
   <!-- DB 설정 -->
   <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
   </dependency>
   <dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.18</version>
   </dependency>
   <dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.0</version>
   </dependency>
   
    Maven - update Project 실행

    src/main/resources/application.properties 파일에 아래 내용 추가

    #db settings
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    spring.datasource.url=jdbc:mysql://127.0.0.1:3306/ssafydb?useSSL=false&useUniCode=yes&characterEncoding=UTF-8&serverTimezone=Asia/Seoul
    spring.datasource.username=root
    spring.datasource.password=1234

    #mapper location settings
    mybatis.config-location=classpath:config/SqlMapConfig.xml

   dao, service, controller 배포 끝난후 요청하기
   ---> http://localhost:8080/api/findAllEmployees 테스트 주소

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

4. RestFul API 서비스 설정 추가
    pom.xml 에 아래 dependency 추가
   <!-- RESTFul JSON 출력 -->
   <dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.5</version>
   </dependency>
   
    Maven - update Project 실행

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

5. SWagger 프레임웤 추가하기
    pom.xml 에 아래 dependency 추가
   <!-- SWagger 2 추가 -->
   <dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.4.0</version>
    </dependency>
    <dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.4.0</version>
    </dependency>
   
    Maven - update Project 실행

   
    -->http://localhost:7788/swagger-ui.html :::  swagger 접속 페이지

 

 

 



   

   

'JAVA' 카테고리의 다른 글

Restful Service  (0) 2021.07.05
Spring MVC Framework  (0) 2021.06.23
[JAVA Framework] Spring Framework  (0) 2021.06.23
Java Framework 도입  (0) 2021.06.17