/** * Build a URL, resolving any tokens using the given TokenResolver. * * @param tokenResolver a TokenResolver to perform token substitution. * @return a URL string. */ public String build(TokenResolver tokenResolver) { return build(buildFullUrlPattern(), null, tokenResolver); }
/** * Builds a URL but does not perform any token replacement. * Equivalent to (and short-hand for) build(null). * * @return */ public String build() { return build(null); }
/** * Build a new URL from the given URL pattern. Optional query-string parameters * may be appended. Tokens are resolved using the passed-in TokenResolver. * * @param urlPattern a URL pattern to bind, instead of using the one associated * with this builder. May not be null. * @param tokenResolver a TokenResolver instance set with bound token values. * @return a URL string. */ public String build(String urlPattern, TokenResolver tokenResolver) { return build(urlPattern, null, tokenResolver); }
/** * Build a URL, resolving any tokens using the given TokenResolver. Additionally, * will call any TokenBinders for the given Object instance to bind values from * it into the URL. * * @param object an object of which to bind properties into the URL parameters. * @param tokenResolver a TokenResolver to perform token substitution. * @return a URL string. */ public String build(Object object, TokenResolver tokenResolver) { return build(buildFullUrlPattern(), object, tokenResolver); }
public Record create(Request request, Response response) { if (AuthenticateJwt.authenticateJwt(request, baseUrl) != true) { response.setResponseStatus(HttpResponseStatus.UNAUTHORIZED); return null; } Record entity = request.getBodyAs(Record.class, "Resource details not provided"); Record saved = service.create(entity); // Construct the response for create... response.setResponseCreated(); // Bind the resource with link URL tokens, etc. here... TokenResolver resolver = HyperExpress.bind(Constants.Url.RECORD_ID, Identifiers.MONGOID.format(saved.getId())); // Include the Location header... String locationPattern = request.getNamedUrl(HttpMethod.GET, Constants.Routes.SINGLE_RECORD); response.addLocationHeader(LOCATION_BUILDER.build(locationPattern, resolver)); LOG.info("maintenance record created: " + Identifiers.MONGOID.format(saved.getId())); // Return the newly-created resource... return saved; }
/** * * @param request * @param response * @return */ public Client create(Request request, Response response) { Client entity = request.getBodyAs(Client.class, "Resource details not provided"); String api_key = RandomStringUtils.randomAlphanumeric(24); entity.setApiKey(api_key); Client saved = service.create(entity); // Construct the response for create... response.setResponseCreated(); // Bind the resource with link URL tokens, etc. here... TokenResolver resolver = HyperExpress.bind(Constants.Url.CLIENT_ID, Identifiers.MONGOID.format(saved.getId())); // Include the Location header... String locationPattern = request.getNamedUrl(HttpMethod.GET, Constants.Routes.SINGLE_CLIENT); response.addLocationHeader(LOCATION_BUILDER.build(locationPattern, resolver)); LOG.info("client created: " + Identifiers.MONGOID.format(saved.getId())); // Return the newly-created resource... return saved; }
/** * * @param request * @param response * @return */ public Vehicle create(Request request, Response response) { if (jwtImpl.authenticateJwt(request, baseUrl) != true) { response.setResponseStatus(HttpResponseStatus.UNAUTHORIZED); return null; } Vehicle entity = request.getBodyAs(Vehicle.class, "Resource details not provided"); Vehicle saved = service.create(entity); // Construct the response for create... response.setResponseCreated(); // Bind the resource with link URL tokens, etc. here... TokenResolver resolver = HyperExpress.bind(Constants.Url.VEHICLE_ID, Identifiers.MONGOID.format(saved.getId())); // Include the Location header... String locationPattern = request.getNamedUrl(HttpMethod.GET, Constants.Routes.SINGLE_VEHICLE); response.addLocationHeader(LOCATION_BUILDER.build(locationPattern, resolver)); LOG.info("vehicle created: " + Identifiers.MONGOID.format(saved.getId())); // Return the newly-created resource... return saved; }
/** * * @param request * @param response * @return */ public Transaction create(Request request, Response response) { if (AuthenticateJwt.authenticateJwt(request, baseUrl) != true) { response.setResponseStatus(HttpResponseStatus.UNAUTHORIZED); return null; } Transaction entity = request.getBodyAs(Transaction.class, "Resource details not provided"); Transaction saved = service.create(entity); // Construct the response for create... response.setResponseCreated(); // Bind the resource with link URL tokens, etc. here... TokenResolver resolver = HyperExpress.bind(Constants.Url.TRANSACTION_ID, Identifiers.MONGOID.format(saved.getId())); // Include the Location header... String locationPattern = request.getNamedUrl(HttpMethod.GET, Constants.Routes.SINGLE_TRANSACTION); response.addLocationHeader(LOCATION_BUILDER.build(locationPattern, resolver)); LOG.info("valet record created: " + Identifiers.MONGOID.format(saved.getId())); // Return the newly-created resource... return saved; }