Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Mise à jour du tutoriel pour développer des services web REST avec JAX-RS, Maven et Eclipse,
Par Mickael Baron

Le , par Mickael Baron

41PARTAGES

17  0 
Bonjour,

Je vous propose un tutoriel qui présente sous la forme d'exercices comment utiliser l'API JAX-RS pour le développement de services web REST.

Chaque exercice est fourni avec un projet Java Maven contenant des classes et des fichiers de configuration qu'il faudra compléter au fur et à mesure des questions. À la fin de chaque exercice, une solution du projet Java sera donnée.

L'adresse du tutoriel est disponible ici : http://mbaron.developpez.com/tutorie...maven-eclipse/

Bon tutoriel et apprentissage autour de JAX-RS.

Mickael

UPDATE du 8 janvier 2019

Une nouvelle version est disponible toujours à la même adresse : http://mbaron.developpez.com/tutorie...maven-eclipse/

Au menu des nouveautés
  • prise en compte des dernières versions de JAX-RS et Jersey
  • support de Java 11
  • plus d'exercices à « trou »
  • déploiement avec Docker
  • codes sources hébergés sur Github


N'hésitez pas si vous avez des commentaires

Mickael

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de JackJnr
Membre confirmé https://www.developpez.com
Le 13/02/2016 à 2:02
Salut Mickael et un grand merci pour ce tuto très instructif que j'ai déjà mis en application pour un projet perso

J'ai une question triviale sur la meilleure manière de gérer les erreurs côté serveur dans une méthode Http (GET, POST, whatever). Imaginons que j'ai un code de ce genre, le plus simple possible :

Code : Sélectionner tout
1
2
3
4
5
6
7
@GET
@Produces("MediaType.APPLICATION_JSON")
public Collection<MyEntity> getAllEntities()
{
    return (Collection<MyEntity>) myJpaDaoEntity.readAll();
}
Si ma méthode foire et que le code balance une exception côté serveur mais que le client, lui, ne voit rien venir justement parce que je n'ai pas donné d'instruction spécifique au serveur (j'ai le problème avec RestEasy sur Firefox qui tourne en boucle). Pour prévenir ce comportement je suppose qu'il est plus propre de tout mettre dans un try/catch et de renvoyer un objet Response avec le code Status désiré et le résultat dans l'objet entity de Response comme ceci :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        @GET
	@Produces("MediaType.APPLICATION_JSON")
	public Response Collection<MyEntity> getAllEntities()
        {
		Response response = null;
		try{
			Collection<MyEntity> myEntities = myJpaDaoEntity.readAll();
			response = Response.status(200).entity(myEntities).build();
		}catch(Exception e){
		       response = Response.status(400).build();
		}
		return response
	 }
Entre les deux codes il y a une sacré différence de verbosité, et même si le second me semble plus robuste est-ce qu'il y a un moyen de faire la même chose plus facilement ?

PS : je bosse déjà avec des webservices mais pas de manière RESTFull, donc tout ce qui est code de retour m'intéresse au plus haut point
0  0 
Avatar de Mickael Baron
Responsable Java https://www.developpez.com
Le 13/02/2016 à 8:30
Salut,

C'est clairement la seconde façon qu'il faut utiliser. Ainsi, il est plus simple de retourner les codes de status.

Dans mon tutoriel, j'omets cela car je voulais être simple mais je me rends compte que je ne présente pas la bonne façon de faire et ça me gène. A noter que j'en parle dans mon support de cours : http://mbaron.developpez.com/soa/jaxrs/

Je vais faire une mise à jour pour introduire Response dans le code de BookTrainResource.

Merci

Mickael
0  0 
Avatar de JackJnr
Membre confirmé https://www.developpez.com
Le 14/02/2016 à 12:56
Merci pour ta réponse.

J'avais regardé ton support de cours, c'est pourquoi je me posais la question
0  0 
Avatar de Mickael Baron
Responsable Java https://www.developpez.com
Le 02/03/2016 à 14:29
@JackJnr,

Je viens d'impacter le tutoriel afin de prendre en compte les sorties de type Response. J'ai motivé cela par ce paragraphe.

Ce premier service REST n'est pas parfait puisque le type de retour est une simple chaîne de caractères. Comment pourrions-nous retourner à la fois une information, un code de statut ou des informations dans l'en-tête de la réponse ? Pour cela, nous allons utiliser un objet Response pour le retour des prochains services REST.
ça te convient ?

Mickael
0  0 
Avatar de amerta
Membre à l'essai https://www.developpez.com
Le 24/03/2016 à 9:32
bonjour , je suis débutant en web service et je suis en train de créer une application android mais j'ai une difficulté au niveau de la connexion à l base de donnée , je voulais avoir comment connecter app android au web service et d'autre part comment connecter web service au base
0  0