전자정부 프레임워크
eGovFramework 3.6
Simple
Restful, RestAPI, Rest
설치는 이전 포스트 확인하시고요.
2021.08.22 - [Java] - [eGovFrame] 전자정부 프레임워크 3.6 설치 및 테스트 실행
1. 프로젝트 생성.
Sample source 는 추가하지 않고 그냥 Finish 클릭.
프로젝트가 생성됐습니다.
2. RestController 생성
우선 package 생성
package 명 입력.
위에서 만든 package 아래에 java class 생성. (package 에서 우클릭 > New > Class)
Class 명은 HelloController
코드는
package hello.bryan.web;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@RequestMapping(value="/hello", method = RequestMethod.GET)
public String hello(@RequestParam("name") String name){
return String.format("nice to meet you, %s", name);
}
}
3. Servlet 설정
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<!-- DispatcherServlet -->
<display-name>HelloBryan</display-name>
<servlet>
<servlet-name>eGovFrame</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- eGovFrame-servlet.xml파일 사용 -->
<servlet-mapping>
<servlet-name>eGovFrame</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
eGovFrame-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
<!-- controller 설정 -->
<context:component-scan base-package="hello.bryan.web" />
<mvc:annotation-driven />
</beans>
4. 일단 실행.
서버가 정상적으로 실행되면
브라우저에 다음과 같이 입력하면 결과가 나옵니다.
5. Object 를 Json 으로 리턴하기. Jackson
jackson 라이브러리 pom 에 추가하기.
pom.xml <dependency> 와 같은 래밸로 아래 추가.
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.4.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.4.3</version>
</dependency>
pom.xml 저장하고 프로젝트 우클릭 > run as > maven clean > maven install
servlet 에 RequestMappingHandlerAdapter 설정
eGovFrame-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
<!-- 여기 추가 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" />
</list>
</property>
</bean>
<!-- controller 설정 -->
<context:component-scan base-package="hello.bryan.web" />
<mvc:annotation-driven />
</beans>
return 할 model class 추가
lombok 은 나중에 하기로 하고 지금은 Getter Setter 를 생성합니다.
코드에서 우클릭 > Source > Generate Getters and Setters.. (또는 단축키 : Alt+Shift+S 누르고 r )
이렇게 하면 소스는
User.java
package hello.bryan.model;
public class User {
private String name;
private String greet;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGreet() {
return greet;
}
public void setGreet(String greet) {
this.greet = greet;
}
}
그리고 컨트롤러 소스 변경.
@RequestMapping(value="/hello", method = RequestMethod.GET)
public User hello(@RequestParam("name") String name){
User user = new User();
user.setName(name);
user.setGreet("nice to meet you");
return user;
}
User class 객체를 return 합니다.
6. jackson (return json) 테스트
서버를 재시작하고, 아까와 같은 url 로 테스트.
class 객체가 json 으로 리턴됩니다.
끝
'Java' 카테고리의 다른 글
[Java] String Null or Empty 체크 (0) | 2023.03.02 |
---|---|
[SpringBoot] json 문자열 받아서 model class 에 맵핑하기 (0) | 2021.10.21 |
[eGovFrame] 전자정부 프레임워크 3.6 설치 및 테스트 실행 (0) | 2021.08.22 |
[SpringBoot] Controller 에서 form-data 여러 파일과 json list string 같이 받기 (Converter) (2) | 2021.08.21 |
[SpringBoot] RestApi 만들기 (6) File Upload / Download / List (3) | 2021.07.11 |
댓글