/** * Build a Link instance. * * @param tokenResolver a TokenResolver with token bindings. * @return a new Link instance * @throws LinkBuilderException if the LinkBuilder is in a state to build an invalid * LinkDefintion. */ public Link build(Object object, TokenResolver tokenResolver) { return createLink(urlBuilder.build(object, tokenResolver)); }
public Link build(TokenResolver tokenResolver) { return createLink(urlBuilder.build(tokenResolver)); }
public Blog create(Request request, Response response) { Blog blog = request.getBodyAs(Blog.class, "Blog details not provided"); ValidationEngine.validateAndThrow(blog); Blog saved = blogs.create(blog); // Construct the response for create... response.setResponseCreated(); // Include the Location header... String locationPattern = request.getNamedUrl(HttpMethod.GET, Constants.Routes.BLOG_ENTRY_READ_ROUTE); response.addLocationHeader(LOCATION_BUILDER.build(locationPattern, new DefaultTokenResolver())); // Return the newly-created item... return saved; }
public BlogEntry create(Request request, Response response) { String blogId = request.getHeader(Constants.Url.BLOG_ID_PARAMETER, "No Blog ID provided"); BlogEntry blogEntry = request.getBodyAs(BlogEntry.class, "BlogEntry details not provided"); Blog blog = blogs.read(UUID.parse(blogId)); blogEntry.setBlogId(blog.getUuid()); ValidationEngine.validateAndThrow(blogEntry); BlogEntry saved = blogEntries.create(blogEntry); // Construct the response for create... response.setResponseCreated(); // Include the Location header... String locationPattern = request.getNamedUrl(HttpMethod.GET, Constants.Routes.BLOG_ENTRY_READ_ROUTE); response.addLocationHeader(LOCATION_BUILDER.build(locationPattern, new DefaultTokenResolver())); // Return the newly-created item... return saved; }
public Comment create(Request request, Response response) { Comment comment = request.getBodyAs(Comment.class, "Comment details not provided"); String blogId = request.getHeader(Constants.Url.BLOG_ID_PARAMETER, "Blog ID not provided"); String blogEntryId = request.getHeader(Constants.Url.BLOG_ENTRY_ID_PARAMETER, "Blog Entry ID not provided"); Blog blog = blogs.read(UUID.parse(blogId)); BlogEntry entry = entries.read(UUID.parse(blogEntryId)); comment.setBlogEntryId(entry.getUuid()); ValidationEngine.validateAndThrow(comment); Comment saved = comments.create(comment); // Construct the response for create... response.setResponseCreated(); // Bind the resource with link URL tokens, etc. here... TokenResolver resolver = HyperExpress.bind(Constants.Url.BLOG_ID_PARAMETER, UUID.format(blog.getUuid())); // Include the Location header... String locationPattern = request.getNamedUrl(HttpMethod.GET, Constants.Routes.COMMENT_READ_ROUTE); response.addLocationHeader(LOCATION_BUILDER.build(locationPattern, resolver)); // Return the newly-created item... return saved; }