JAX-RS를 시도한 후 절차를 적어 두다

3368 단어 JAX-RSJava

컨디션


OS 또는 소프트웨어
version
macOS
Sierra
Eclipse
4.6(NEON)
(Eclipse plugin)Buildship Gradle Integration
2.0
Java SE
1.8.0_121_b13
glassfish
4.1.1
gradle
3.4.1
설치에 관해서 나는 먼저 이야기하지 않겠다.

절차.


4
  • gradle 프로젝트 만들기
    Eclipse에서 "새로 만들기"> [Gradle] > [Gradle 프로젝트]로 새 프로젝트를 만듭니다
  • 4
  • 프로젝트 속성을 열고 프로젝트 면을 추가합니다
  • 4
  • 동적 WEB 모듈 추가이 경우 항목 면 화면 오른쪽에 있는 [실행 시간]을 선택하고 [Glassfish 4]를 선택합니다.
  • build.아래와같이gradle을 수정합니다. build.gradle apply plugin: 'war' apply plugin: 'java-library' repositories { mavenCentral() jcenter() } dependencies { providedCompile 'org.projectlombok:lombok:1.16.4' compile 'com.fasterxml.jackson.core:jackson-databind:2.8.6' compile 'com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.8.6' providedCompile 'javax:javaee-web-api:7.0' providedCompile fileTree(dir: '/glassfish4/glassfish/modules', include: '*.jar') api 'org.apache.commons:commons-math3:3.6.1' implementation 'com.google.guava:guava:21.0' testImplementation 'junit:junit:4.12' } war { exclude 'WEB-INF/lib/**' exclude 'WEB-INF/classes/**' } 프로젝트를 마우스 오른쪽 단추로 클릭하고 [Gradle][Gradle 프로젝트의 리셋]을 실행합니다.이때 쿠리의 글래스피쉬의 운행 시간이 사라지는 미스터리 사건이 발생했다.프로젝트 파일 집합을 다시 열어야 합니다...왜 그런지 모르겠다(땀) 다음에 원본 파일을 써서 서버에 추가합니다. link.griffin.study_gradle.jaxrs.ApplicationConfig.java package link.griffin.study_gradle.jaxrs; import javax.ws.rs.ApplicationPath; import org.glassfish.jersey.server.ResourceConfig; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider; @ApplicationPath("stdy") public class ApplicationConfig extends ResourceConfig { public ApplicationConfig(){ // 자신이 만든 리소스에 로그인 this.packages(ApplicationConfig.class.getPackage().getName()); this.packages("com.snail.waf21.rest") // Jacson에 등록할 범주 .register((new JacksonJaxbJsonProvider(new ObjectMapper(), JacksonJaxbJsonProvider.DEFAULT_ANNOTATIONS))) // JSONP 등록을 위한 수준 .register(org.glassfish.jersey.jackson.JacksonFeature.class); } } link.griffin.study_gradle.jaxrs.SampleResource.java package link.griffin.study_gradle.jaxrs; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import link.griffin.study_gradle.jaxrs_sdo.DataSdo; @Path("rs") public class SampleResource { @GET @Path("run") @Produces(MediaType.APPLICATION_JSON) public DataSdo run(){ DataSdo data = new DataSdo(); data.setName("hogehoge"); data.setId(12345); return data; } } link.griffin.study_gradle.jaxrs_sdo.DataSdo.java package link.griffin.study_gradle.jaxrs_sdo; import javax.xml.bind.annotation.XmlRootElement; @lombok.Data @XmlRootElement public class DataSdo { private String name = ""; private Integer id = 0; }
  • 이 샘플이면... http://localhost:8080/study_gradle/stdy/rs/run 액세스할 수 있습니다.
  • 좋은 웹페이지 즐겨찾기