Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

1) Strikte Verwendung von GET, POST, PUT, DELETE nach Rest Standard:

GET: Holen von Daten, keine Veränderung an der DB

POST: Erzeugen eines Objects in der DB

PUT: Verändern einer eines Objects in der DB, unter . Unter bestimmten Bedingungen kann mit PUT auch ein Object erzeugt werden, dies ist aber im Gegensatz zu POST idempotent, ein zweites PUT erzeugt keinen neuen Datensatz.

DELETE: Löschen eines (ggfls. oder mehrerer) Objects in der DB.

...

Codeblock
POST /tree

einen BAUM verändern:

 

Spaltecode
PUT /tree/{treeid}

einen AST am Baum löschen:

...

3) Dabei zusätzliche, nicht unbedingt notwendige Pfadteile soweit wie möglich vermeiden. Insbesondere am Anfang:

Suboptimal:

Codeblock
/neudazu/botanik/heinzmueller/pflanzen/tree/

 

4) Beispiel Code für einen restservice Restservice zur Userverwaltung: 

 

Codeblock
@Path("/user")
public class UserService {
 
 @GET
 public List<UserRVO> getUserList(@PathParam("username") String username) throws CommonBusinessException {
	...
 }
 
 @POST
 public UserRVO createUser(UserRVO userRVO) throws CommonBusinessException {
	...
 }
 
 @GET
 @Path("/{username}")
 public UserRVO getUser(@PathParam("username") String username) throws CommonBusinessException {
	...
 }
 
 @PUT
 @Path("/{username}")
 public UserRVO updateUser(@PathParam("username") String username, UserRVO userRVO) throws CommonBusinessException {
	...
 }
 
 @DELETE
 @Path("/{username}")
 public UserRVO deleteUser(@PathParam("username") String username) throws CommonBusinessException {
	...
 }
 
 @PUT
 @Path("/{username}/password")
 public Response setPassword(@PathParam("username") String username, PasswordChangeRVO passwordChange) {
	...
 }
 
}