Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

Version 1 Nächste Version anzeigen »

Folgende Regeln sind einzuhalten:

 

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 Objects in der DB, 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. mehrerer) Objects in der DB.

 

2) Selbstsprechende "objektorientierte" Pfade, z.B:

einen Baum erzeugen:

POST /tree

einen BAUM verändern:

PUT /tree/{treeid}

einen AST am Baum löschen:

DELETE /tree/{treeid}/branch/{branchid}

 

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

Suboptimal:

/botanik/pflanzen/tree/

 

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

 

 

@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) {
	...
 }
 
}
  • Keine Stichwörter