[JAVA] J'ai essayé JAX-RS et pris note de la procédure

environnement

OS ou logiciel 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

Je vais omettre l'installation.

procédure

--Créer un projet gradle Dans Eclipse, créez un nouveau projet en sélectionnant [Nouveau]> [Gradle]> [Gradle Project].

--Ouvrez les propriétés du projet et ajoutez "Project Facet".

--Ajouter "Module WEB dynamique". À ce moment-là, sélectionnez "Runtime" sur le côté droit de l'écran des facettes du projet et sélectionnez "Glassfish 4". 画面イメージ

--Modifiez build.gradle comme suit.

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/**'
}

--Cliquez avec le bouton droit sur le projet et sélectionnez [Gradle]> [Refresh Gradle Project].
À ce moment, il y a un événement mystérieux que le runtime Glassfish de la bibliothèque disparaît. J'ai besoin d'ouvrir à nouveau le fichier du projet et de le rattacher ... Je ne sais pas pourquoi (transpirer)

java: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(){
		//Enregistrez votre propre ressource
		this.packages(ApplicationConfig.class.getPackage().getName());
		this.packages("com.snail.waf21.rest")
		//Inscrire une classe à Jacson
		.register((new JacksonJaxbJsonProvider(new ObjectMapper(),
				JacksonJaxbJsonProvider.DEFAULT_ANNOTATIONS)))
		//Enregistrer la classe pour JSONP
		.register(org.glassfish.jersey.jackson.JacksonFeature.class);

	}
}

java: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;
	}
}

java: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;
}

Recommended Posts

J'ai essayé JAX-RS et pris note de la procédure
J'ai essayé de résumer les bases de kotlin et java
J'ai fait un petit bijou pour poster le texte du mode org sur qiita
J'ai essayé de résumer les méthodes de Java String et StringBuilder
J'ai créé un outil pour afficher la différence du fichier CSV
J'ai essayé d'exprimer les résultats avant et après de la classe Date avec une ligne droite numérique
J'ai essayé de résumer les points clés de la conception et du développement de gRPC
J'ai créé un bot de transaction d'arbitrage de monnaie virtuelle et essayé de gagner de l'argent
J'ai essayé de mesurer et de comparer la vitesse de Graal VM avec JMH
Un mémo sur le flux de Rails et Vue
J'ai essayé d'utiliser le profileur d'IntelliJ IDEA
Ce que j'ai essayé quand je voulais obtenir tous les champs d'un haricot
J'étais un peu accro à la comparaison S3 Checksum, alors prenez note.
Je veux obtenir récursivement la superclasse et l'interface d'une certaine classe
J'ai créé une image Docker pour la version japonaise de SDAPS
J'ai créé un outil de vérification pour le module de version
05. J'ai essayé de supprimer la source de Spring Boot
J'ai essayé de réduire la capacité de Spring Boot
[Ruby] J'ai fait un robot avec de l'anémone et du nokogiri.
J'ai essayé le nouveau profileur de fonctionnalités d'IntelliJ IDEA 2019.2.
J'ai créé un serveur et un client Restful au printemps.
J'ai écrit un diagramme de séquence de l'exemple j.u.c.Flow
J'ai résumé les types et les bases des exceptions Java
Une note de révision de l'interface Spring Framework Resource
J'ai trébuché lorsque j'ai essayé d'utiliser neo4j dans l'environnement jenv, alors prenez note
[Note] Sortie Java de la somme des éléments pairs et impairs
J'ai créé le côté serveur du jeu de cartes en ligne ①
Un mémorandum de la procédure de définition du chemin de la variable d'environnement "JAVA_HOME"
J'ai essayé de faire une version japonaise de la transmission automatique du courrier de Rails / devise
J'ai essayé d'utiliser le référentiel GitHub comme serveur de bibliothèque
Je n'ai pas vraiment compris le comportement de Java Scanner et .nextLine ()
Fait le côté serveur du jeu de cartes en ligne ⑤
J'ai créé le côté serveur du jeu de cartes en ligne ③
J'ai jeté un coup d'œil à l'intérieur du Java HashMap
Remarques sur la portée
J'ai créé le côté serveur du jeu de cartes en ligne ⑥
J'ai essayé de vérifier ceci et celui de Spring @ Transactional
J'ai créé une application de chat.
J'ai essayé de convertir l'exemple d'application en microservice selon l'idée du livre "Microservice Architecture".
Je veux appeler une méthode et compter le nombre
J'ai essayé de développer une application web à partir d'un mois et demi d'histoire d'apprentissage de la programmation
Une note sur la fonction de départ de Ruby on Rails
Le nième et le n + 1er caractères d'une chaîne Ruby
Je veux obtenir une liste du contenu d'un fichier zip et sa taille non compressée
J'ai créé le côté serveur du jeu de cartes en ligne ④
[Rails 6.0, Docker] J'ai essayé de résumer la construction de l'environnement Docker et les commandes nécessaires pour créer un portfolio
J'ai brièvement résumé la grammaire de base de Ruby
J'ai essayé de créer un environnement de WSL2 + Docker + VSCode
[Pour les débutants Swift] J'ai essayé de résumer le cycle de mise en page désordonné de ViewController et View
J'ai essayé le problème FizzBuzz
J'ai créé le côté serveur du jeu de cartes en ligne ②
J'ai essayé un puzzle qui ne peut être résolu que par les 10% de mauvais ingénieurs