Wie benutzt @POST, @PUT, und @DELETE ?

vector_ever

Mitglied
Hallo,
ich bin noch ganz neu mit jeresy web applications (restfull applications), iweiß ganz genau wie man mit @GET behandeln, aber nicht mit @POST, @PUT, und @DELETE

ich habe hier ganz einfacher Beispiel:
Code:
import java.util.ArrayList;
 
public class ArrList1 {
 
protected static ArrayList col1 = new ArrayList();
 
 
	public  void arrList() {
		col1.add("hallo");
		col1.add(2);
		col1.add(3);
		col1.add(4.0);
		col1.add(5.25);
		col1.add(6);
}
}

Jeresy Code
Code:
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Response;
 
@Path("/ArrayList2Jersy")
public class RestfullJersy extends ArrList1{
	@GET
	public Response arrList() {
 
		ArrList1 read = new ArrList1();
		read.arrList();
 
//print the value of the cells which is stored in the the Arraylist
	    System.out.println("");
	    for (int i = 0; i < col1.size(); i++){
	    Object item = col1.get(i);
	    	}
 
		        String result = " Output: \n\nArrayList Output: \n\n" + item ;
		        return Response.status(200).entity(result).build();
 
	}
}

web.xml
Code:
  <servlet>
    <servlet-name>Jersey Web Application</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
            
	    <init-param>
		<param-name>com.sun.jersey.config.property.resourceConfigClass</param-name>
		<param-value>com.sun.jersey.api.core.PackagesResourceConfig</param-value>
	    </init-param>
        <init-param>
          <param-name>com.sun.jersey.config.property.packages</param-name>
          <param-value>pal.restfulservice</param-value>
        </init-param>
    
    <load-on-startup>1</load-on-startup>
  </servlet>
  
  <servlet-mapping>
    <servlet-name>Jersey Web Application</servlet-name>
    <url-pattern>/jeresy/*</url-pattern>
  </servlet-mapping>
  
  <session-config>
    <session-timeout>30</session-timeout>
  </session-config>
</web-app>

http://localhost:8080/RestFul/jeresy/ArrayList2Jersy dann bekomme alle Elemente in dem arraylist (wo RestFul ist der Name des Project)

jetzt was ich kann nicht, wie kann @POST(neuer Element in arraylist hinzufügen), @PUT(update machen) und @DELETE(löschen Elemente von Arraylist)

Z.B. möchte neue Element zum Arraylist col1.add(34); wie kann ich es mit @post machen und welche URL soll ich schreiben um abzurufen?
 
Zuletzt bearbeitet:

Writtscher

Mitglied
Konfuzius hat gesagt.:
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben.

Der erste Thread "Kurzer allgemeiner Hinweis zu Fragestellungen" hat einen wichtigen Satz den ich gerne zitieren möchte:

snape hat gesagt.:
Oftmals ist es auch hilfreich, im Sun-Tutorial und in der API zu stöbern.

Deine letzten Threads bzw. Fragen sind so Grundlegend gewesen, dass man die durch einfaches googlen bzw. durch lesen der Dokumentation gelöst bekommen hätte. Da man erkennt, dass du noch neu in der Programmierwelt bist, kann ich dir nur ans Herz legen: Google dein Problem, denn es hat zu 100% schon mal jemand das Problem. Wenn nicht, dann haben externe Bibliotheken meistens eine Dokumentation oder ein Wiki die die Bibliothek komplett erklären.

Jetzt zu deinem Problem (In der Jersey Dokumentation innerhalb von 10 Sekunden gefunden):
https://jersey.java.net/documentation/latest/jaxrs-resources.html#d0e1282
 

vector_ever

Mitglied
Danke schön für das Tipp

aber glaub mir ich habe oft in google gesucht, und habe keine Frage auf meine Antwort gefunden, deswegen habe die frage hier gestellt.

Ich habe ganz einfache beispiel gebaut, um die schnelle und einfache lösung zu finden.

Ich habe die Link (https://jersey.java.net/documentatio...s.html#d0e1282) oft gelesen, aber nicht ganz geholfen

Z.B wie kann ich @POST oder @PUT aufgeruft wird (durch URI)