Články – metody pro REST API.
authorFrantišek Kučera <franta-hg@frantovo.cz>
Mon Apr 05 22:21:01 2010 +0200 (2010-04-05)
changeset 8959ba044de164
parent 88 a5339bcce9a2
child 90 0967d5e3b470
Články – metody pro REST API.
java/nekurak.net-rest/src/java/cz/frantovo/nekurak/rest/ClankyREST.java
     1.1 --- a/java/nekurak.net-rest/src/java/cz/frantovo/nekurak/rest/ClankyREST.java	Mon Apr 05 19:08:52 2010 +0200
     1.2 +++ b/java/nekurak.net-rest/src/java/cz/frantovo/nekurak/rest/ClankyREST.java	Mon Apr 05 22:21:01 2010 +0200
     1.3 @@ -1,7 +1,9 @@
     1.4  package cz.frantovo.nekurak.rest;
     1.5  
     1.6  import javax.ws.rs.Consumes;
     1.7 +import javax.ws.rs.DELETE;
     1.8  import javax.ws.rs.GET;
     1.9 +import javax.ws.rs.POST;
    1.10  import javax.ws.rs.PUT;
    1.11  import javax.ws.rs.Path;
    1.12  import javax.ws.rs.PathParam;
    1.13 @@ -10,25 +12,46 @@
    1.14  @Path("clanek")
    1.15  public class ClankyREST {
    1.16  
    1.17 -    /**
    1.18 -     * Pro vyzkoušení REST funkčnosti můžeme použít statickou proměnnou,
    1.19 -     * ale v praxi bychom se statickým proměnným měli vyhýbat – data budeme typicky předávat
    1.20 -     * nějaké nižší vrstvě (EJB, databáze) a nebudeme si je skladovat v prezentační vrstvě.
    1.21 -     * Místo statické proměnné jsme zde mohli použít EJB singleton, který by se postaral o uchování dat.
    1.22 -     */
    1.23 -    private static String data;
    1.24 +    private static final String MIME_XML = "text/xml";
    1.25  
    1.26 +    /** Vypíšeme seznam všech článků v systému */
    1.27 +    @GET
    1.28 +    @Path("/")
    1.29 +    @Produces("text/plain")
    1.30 +    public String getClanky() {
    1.31 +	return "tady bude seznam";
    1.32 +    }
    1.33 +
    1.34 +    /** Získáme konkrétní článek */
    1.35      @GET
    1.36      @Path("/{id}")
    1.37      @Produces("text/plain")
    1.38 -    public String getText(@PathParam("id") int id) {
    1.39 -	return "Naposledy sem někdo poslal:\n" + data + "\n" + id + "\n" ;
    1.40 +    //@Produces(MIME_XML)
    1.41 +    public String ziskej(@PathParam("id") int id) {
    1.42 +	return "jeden článek: " + id;
    1.43      }
    1.44  
    1.45 +    /**
    1.46 +     * Vložíme nový článek
    1.47 +     * @return ID založeného článku
    1.48 +     */
    1.49 +    @POST
    1.50 +    @Consumes(MIME_XML)
    1.51 +    @Produces("text/plain")
    1.52 +    public int zaloz() {
    1.53 +	return 0;
    1.54 +    }
    1.55 +
    1.56 +    /** Aktualizujeme článek */
    1.57      @PUT
    1.58 -    @Consumes("text/plain")
    1.59 -    public String putText(String data) {
    1.60 -	ClankyREST.data = data;
    1.61 -	return "Právě jsme od vás přijali:\n" + data + "\n";
    1.62 +    @Consumes(MIME_XML)
    1.63 +    @Path("/{id}")
    1.64 +    public void uloz(@PathParam("id") int id) {
    1.65 +    }
    1.66 +
    1.67 +    /** Smažeme článek */
    1.68 +    @DELETE
    1.69 +    @Path("/{id}")
    1.70 +    public void smaz(@PathParam("id") int id) {
    1.71      }
    1.72  }