Reference Guide

Table Of Contents
@POST
@Produces(MediaType.APPLICATION_JSON)
public Response create(String request) {ObjectMapper mapper = new
ObjectMapper();
JsonNode root = parse(mapper, request, "Switch data");
JsonNode node = root.path("item");
String name = exists(node, "name") ? node.path("name").asText() :
null;
SwitchService service = get(SwitchService.class);
Switchdevice = service.create(name);
return response(device, mapper).build();
}
@DELETE
@Path("{uid}")
@Produces(MediaType.APPLICATION_JSON)
public Response delete(@PathParam("uid") long uid) {
Id<Switch, UUID> deviceId = Id.valueOf(UUID.fromString(uid));
SwitchService service = get(SwitchService.class);
Switch device = service.get(deviceId);
if (device == null) {
throw new NotFoundException(
"device with id '" + id + "' not found");
}
service.delete(deviceId);
return Response.ok().build();
}
private ResponseBuilder response(Switch s, ObjectMapper mapper) {
ObjectNode r = mapper.createObjectNode();
r.put("item", json(s, mapper());
return ok(r.toString());
}
static JsonNode json(Switch s, ObjectMapper mapper) {
ObjectNode node = mapper.createObjectNode();
node.put("uid", s.getId().getValue().toString());
node.put("name", s.name());
211