Skip to content

Instantly share code, notes, and snippets.

@rschumm
Last active October 6, 2015 18:17
Show Gist options
  • Save rschumm/3033403 to your computer and use it in GitHub Desktop.
Save rschumm/3033403 to your computer and use it in GitHub Desktop.
EinkauflisteRESTService.java

Einkaufsliste-Service Using JAX-RS (Java API for RESTful Web Services)

Authors: Remy Schumm for HappyHour 2012

Ein- und Ausgabe ist: Content-Type: application/json

Siehe auch: https://github.com/happyhour2012/gae-rest-service/tree/master/EinkaufslisteService

Benutzung:

GET:

http://localhost:8080/EinkaufslisteService/einkaufslisten/ liefert alle Einkauflisten

http://localhost:8080/EinkaufslisteService/einkaufslisten/count liefert die Anzahl Listen die es gibt

http://localhost:8080/EinkaufslisteService/einkaufslisten/bla sucht und liefert eine Einkaufliste, die im Namen "bla" hat

POST: http://localhost:8080/EinkaufslisteService/einkaufslisten/ speichert eine Einkaufsliste, die mit JSON übergeben wird. z.B: Content-Type: application/json

Body: {"titel":"Coop"}

DELETE: http://localhost:8080/EinkaufslisteService/einkaufslisten/bla löscht die Einkaufliste, die genau "bla" heisst

package ch.axa.hh.service;
import java.util.List;
import java.util.logging.Logger;
import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import ch.axa.hh.model.Einkaufsliste;
@Path("/einkaufslisten")
@RequestScoped
public class EinkauflisteRESTService {
@Inject
private Logger log;
@Inject
private EinkauflisteService einkauflisteService;
@GET
@Produces(MediaType.APPLICATION_JSON)
public List<Einkaufsliste> listAllMembers() {
log.info("liste");
return einkauflisteService.listAllEinkaufslisten();
}
@GET
@Path("/{name}")
@Produces(MediaType.APPLICATION_JSON)
public Einkaufsliste getEinkauflisteForName(@PathParam("name")String name){
log.info("forName");
return einkauflisteService.getEinkauflisteForName(name);
}
@POST
@Consumes(MediaType.APPLICATION_JSON)
public void addEinkaufsliste(Einkaufsliste einkaufsliste){
log.info("add");
einkauflisteService.addEinkaufsliste(einkaufsliste);
}
@DELETE
@Path("/{name}")
public void deleteEinkaufslisteWithName(@PathParam("name")String name){
log.info("delete");
einkauflisteService.removeEinkaufslisteForName(name);
}
@GET
@Path("/count")
@Produces(MediaType.APPLICATION_JSON)
public int count(){
log.info("count");
return einkauflisteService.count();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment