import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.ResponseBuilder; public Response getFile(String contentType) { File f = new File("/tmp/file.doc"); ResponseBuilder response = Response.ok(f); response.type(contentType); response.header("Content-Disposition", "attachment; filename=\"file.doc\""); return response.build(); }
private static final String FILE_PATH = "d:\\Test2.zip"; @GET @Path("/get") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response getFile() { File file = new File(FILE_PATH); ResponseBuilder response = Response.ok((Object) file); response.header("Content-Disposition", "attachment; filename=newfile.zip"); return response.build(); }
@Override public ContainerRequest filter(ContainerRequest request) { User user = Helper.getCurrentUser(); if(user == null){ ResponseBuilder builder = null; String response = "Custom message"; builder = Response.status(Response.Status.UNAUTHORIZED).entity(response); throw new WebApplicationException(builder.build()); } return request; }
private ServiceResponse<PageImpl1<SubscriptionInner>> listNextDelegate(Response<ResponseBody> response) throws CloudException, IOException, IllegalArgumentException { return this.client.restClient().responseBuilderFactory().<PageImpl1<SubscriptionInner>, CloudException>newInstance(this.client.serializerAdapter()) .register(200, new TypeToken<PageImpl1<SubscriptionInner>>() { }.getType()) .registerError(CloudException.class) .build(response); }
@GET @Path("generateCalendar/{alias}/{start}/{end}") @Produces({ "text/v-calendar" }) public Response generateCalendar( @QueryParam("alias") final String argAlias, @QueryParam("start") final String argStart, @QueryParam("end") final String argEnd) { ResponseBuilder builder = Response.ok(); builder.header("content-disposition", "attachment;filename=calendar.ics"); builder.entity("BEGIN:VCALENDAR\n<........insert meeting details here......>:VCALENDAR"); return builder.build(); }
public Response toResponse(final CustomException e) { LOGGER.debug("Mapping CustomException with status + \"" + e.getStatus() + "\" and message: \"" + e.getMessage() + "\""); ResponseBuilder rb = Response.status(e.getStatus()).entity( new ErrorResponseConverter(e.getMessage(), e.getReason(), e.getErrorCode())); List<MediaType> accepts = headers.getAcceptableMediaTypes(); if (accepts!=null && accepts.size() > 0) { //just pick the first one MediaType m = accepts.get(0); LOGGER.debug("Setting response type to " + m); rb = rb.type(m); } else { //if not specified, use the entity type rb = rb.type(headers.getMediaType()); // set the response type to the entity type. } return rb.build(); }
@ResponseStatus(HttpStatus.OK) @RequestMapping(value = "/thumbnails", method = RequestMethod.GET) public ResponseEntity<InputStreamResource> getThumbnail(int id) { youeObject = service.find(id); ResponseBuilder builder = Response.ok(youeObject); builder.cacheControl(CacheControl.maxAge(24, TimeUnit.HOURS)).cachePrivate()); return builder.build(); }
@Provider public class InvalidInputExceptionMapper implements ExceptionMapper<InvalidInputException> { @Override @Produces(MediaType.APPLICATION_JSON) public Response toResponse(InvalidInputException e) { ResponseBuilder rb = Response.status(Status.BAD_REQUEST); rb.entity(e.getErrors()); return rb.build(); } }
/** * Sets the base URL with the default from the Environment. * * @param environment the environment to use * @param endpoint the environment endpoint the application is accessing * @return the builder itself for chaining */ public Builder withBaseUrl(Environment environment, Environment.Endpoint endpoint) { this.baseUrl = environment.url(endpoint); return this; }
private ServiceResponse<PageImpl<PolicySetDefinitionInner>> listBuiltInDelegate(Response<ResponseBody> response) throws ErrorResponseException, IOException { return this.client.restClient().responseBuilderFactory().<PageImpl<PolicySetDefinitionInner>, ErrorResponseException>newInstance(this.client.serializerAdapter()) .register(200, new TypeToken<PageImpl<PolicySetDefinitionInner>>() { }.getType()) .registerError(ErrorResponseException.class) .build(response); }
@provider public class UnmarshalExceptionMapper implements ExceptionMapper<UnmarshalException> { public Response toResponse(UnmarshalException exception) { ResponseBuilder rb = Response.status( Response.Status.BAD_REQUEST) // Most appropriate HTTP status code .entity(your xml goes here) .type("application/xml"); return rb.build(); } }
@Path("/report") public class ReportResource { @Path("users") @POST @Produces(MediaTypeUtils.MS_EXCEL) public Response getUsers(@FormParam("id") String id ) { // Build the report and get the instance of java.io.File ResponseBuilder response = Response.ok(file); response.header("Content-Disposition","attachment; filename=report.xls"); return response.build(); } }
private ServiceResponse<PageImpl<PolicySetDefinitionInner>> listByManagementGroupNextDelegate(Response<ResponseBody> response) throws ErrorResponseException, IOException, IllegalArgumentException { return this.client.restClient().responseBuilderFactory().<PageImpl<PolicySetDefinitionInner>, ErrorResponseException>newInstance(this.client.serializerAdapter()) .register(200, new TypeToken<PageImpl<PolicySetDefinitionInner>>() { }.getType()) .registerError(ErrorResponseException.class) .build(response); }
ResponseBuilder partial = Response.status(200); // mock status ResponseBuilder filled = fillResponse(partial); // whatever the method is called return filled.build();
@Provider public class CorsExceptionMapper implements ExceptionMapper<Exception> { @Override public Response toResponse(Exception ex) { ResponseBuilder responseBuilder = Response.serverError(); responseBuilder.header("Access-Control-Allow-Origin", "*"); responseBuilder.header("Access-Control-Allow-Headers", "origin, content-type, accept, authorization, auth-token"); responseBuilder.header("Access-Control-Allow-Credentials", "true"); responseBuilder.header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS, HEAD"); responseBuilder.header("Access-Control-Max-Age", "1209600"); return responseBuilder.build(); } }
private ServiceResponse<DeploymentExtendedInner> getByResourceGroupDelegate(Response<ResponseBody> response) throws CloudException, IOException, IllegalArgumentException { return this.client.restClient().responseBuilderFactory().<DeploymentExtendedInner, CloudException>newInstance(this.client.serializerAdapter()) .register(200, new TypeToken<DeploymentExtendedInner>() { }.getType()) .registerError(CloudException.class) .build(response); }
ResponseBuilder rb = Response.ok(entity); return rb.build();
@Provider public class RESTExMapper implements ExceptionMapper<Throwable> { @Override public Response toResponse(Throwable ex) { //our application maps a not logged in exception to javax.ws.rs.core.Response.Status.UNAUTHORIZED in this Pair Pair<Integer, ObjectMap> ret = buildResponse( unwrap( ex)); ResponseBuilder rb = Response.status( ret.left()).entity( ret.right()).type( "application/json"); if( ret.left() == UNAUTHORIZED.getStatusCode()) return rb.header( HttpHeaders.WWW_AUTHENTICATE, "Basic realm=\"YOUR SERVICE NAME\"").build(); else return rb.build(); }
private ServiceResponse<PageImpl1<TenantIdDescriptionInner>> listDelegate(Response<ResponseBody> response) throws CloudException, IOException, IllegalArgumentException { return this.client.restClient().responseBuilderFactory().<PageImpl1<TenantIdDescriptionInner>, CloudException>newInstance(this.client.serializerAdapter()) .register(200, new TypeToken<PageImpl1<TenantIdDescriptionInner>>() { }.getType()) .registerError(CloudException.class) .build(response); }
@POST @Consumes(MediaType.APPLICATION_FORM_URLENCODED) @Produces(MediaType.APPLICATION_JSON) public Response postPerson(@FormParam("person") List<String> person){ ResponseBuilder response = Response.ok(); return response.build(); } <html><body> <form action="http://localhost:9998/myresource" method="POST"> <input type="checkbox" name="person" value="a">A</input> <input type="checkbox" name="person" value="b">B</input> <input type="checkbox" name="person" value="c">C</input> <input type="submit">OK</input> </form> </body></html>