Seitenhistorie
...
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) { ... } } |