M1

Architectures

2 principales :

Big

Lors de la création d'un web service il faut que :

REST(ful)

REST = Representation State Transfer

Dans le cadre des web services Java, les ressources sont représentées par des POJOs comportant une annotation @Path ou des annotations avec un verbe HTTP (e.g. @GET, @POST) pour indiquer comment on accède à la donnée.

Pour spécifier les formats de communication/réponse, on utilise les annotations @Consumes et @Produces.

Exemple :

@Path("/helloworld")
class HelloWorld {
  @GET
  @Produces("text/plain")
  public String getMessage() {
    return "Eh bien le bonjour !";
  }
}

Exemple un peu plus complexe :

@Path("/users/{username}")
class User {
  @GET
  @Produces("text/xml")
  public String getUser(@PathParam("username") String username) {
    // Code pour récupérer l'utilisateur à partir de son
    // nom et le renvoyer au format XML avec JAXB ou n'importe
    // quelle autre merde qui fait du XML.
  }
}

Si jamais ça peut être utile : petite signification des verbes HTTP