本文整理匯總了Java中javax.ws.rs.container.ContainerResponseContext.setEntity方法的典型用法代碼示例。如果您正苦於以下問題:Java ContainerResponseContext.setEntity方法的具體用法?Java ContainerResponseContext.setEntity怎麽用?Java ContainerResponseContext.setEntity使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類javax.ws.rs.container.ContainerResponseContext
的用法示例。
在下文中一共展示了ContainerResponseContext.setEntity方法的13個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: processResponse
import javax.ws.rs.container.ContainerResponseContext; //導入方法依賴的package包/類
@Override
public void processResponse(ContainerRequestContext requestContext, ContainerResponseContext responseContext,
ResourceInfo resourceInfo) {
MediaType mediaType = responseContext.getMediaType();
if (mediaType != null && MediaType.APPLICATION_JSON_TYPE.equals(mediaType)) {
Object responseData = responseContext.getEntity();
WrapperResponseEntity jsonResponse;
if (responseData instanceof WrapperResponseEntity) {
jsonResponse = (WrapperResponseEntity) responseData;
} else {
jsonResponse = new WrapperResponseEntity(ResponseCode.OK);
jsonResponse.setData(responseData);
}
responseContext.setStatus(ResponseCode.OK.getCode());
responseContext.setEntity(jsonResponse);
}
}
示例2: mapResponseLogBean
import javax.ws.rs.container.ContainerResponseContext; //導入方法依賴的package包/類
private ResponseLogBean mapResponseLogBean(ContainerResponseContext responseContext) throws IOException {
ResponseLogBean responseLogBean = new ResponseLogBean();
responseLogBean.setStatus(responseContext.getStatus());
Map<String, String> headers = Maps.newHashMap();
if (responseContext.getEntity() instanceof InputStream) {
JsonNode responseEntity = objectMapper.readTree((InputStream) responseContext.getEntity());
responseLogBean.setBody(responseEntity);
responseContext.setEntity(responseEntity);
} else {
responseLogBean.setBody(objectMapper.convertValue(responseContext.getEntity(), JsonNode.class));
}
for (Map.Entry<String, List<Object>> header : responseContext.getHeaders().entrySet()) {
headers.put(header.getKey(), joiner.join(header.getValue()));
}
responseLogBean.setHeaders(headers);
return responseLogBean;
}
示例3: filter
import javax.ws.rs.container.ContainerResponseContext; //導入方法依賴的package包/類
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException {
final EntityTag entityTag = getEntityTag(responseContext);
final Date lastModified = getLastModified(responseContext);
responseContext.getHeaders().putSingle(HttpHeaders.CACHE_CONTROL, cacheControl);
writeHeader(responseContext, HttpHeaders.ETAG, entityTag);
writeHeader(responseContext, HttpHeaders.LAST_MODIFIED, lastModified == null ? null : HttpUtils.getHttpDateFormat().format(lastModified));
final Response.ResponseBuilder builder = evaluatePreconditions(requestContext, entityTag, lastModified);
if (builder != null) {
responseContext.setStatusInfo(Response.Status.NO_CONTENT);
responseContext.setEntity(null);
}
}
示例4: populateResponse
import javax.ws.rs.container.ContainerResponseContext; //導入方法依賴的package包/類
public void populateResponse(ContainerResponseContext responseContext) {
if (hasResponseContent) {
responseContext.setEntity(responseContent);
}
if (hasResponseContentType) {
responseContext.getHeaders().putSingle(HttpHeaders.CONTENT_TYPE, responseContentType);
}
if (hasResponseStatus) {
responseContext.setStatus(responseStatus);
}
for (Entry<String, String> headers : responseHeaders.entrySet()) {
responseContext.getHeaders().putSingle(headers.getKey(), headers.getValue());
}
for (NewCookie cookie : responseCookies) {
responseContext.getHeaders().add(HttpHeaders.SET_COOKIE, cookie);
}
}
示例5: processResponse
import javax.ws.rs.container.ContainerResponseContext; //導入方法依賴的package包/類
@Override
public void processResponse(ContainerRequestContext requestContext,
ContainerResponseContext responseContext,
ResourceInfo resourceInfo) {
MediaType mediaType = responseContext.getMediaType();
if (mediaType != null && MediaType.APPLICATION_JSON_TYPE.equals(mediaType)) {
Object responseData = responseContext.getEntity();
WrapperResponseEntity jsonResponse;
if (responseData instanceof WrapperResponseEntity) {
jsonResponse = (WrapperResponseEntity) responseData;
} else {
jsonResponse = new WrapperResponseEntity(ResponseCode.OK);
jsonResponse.setData(responseData);
}
responseContext.setStatus(ResponseCode.OK.getCode());
responseContext.setEntity(jsonResponse);
}
}
示例6: filter
import javax.ws.rs.container.ContainerResponseContext; //導入方法依賴的package包/類
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException {
if (doesPathContain(requestContext, "/api/login")) {
String sessionId = ((TokenInfo) responseContext.getEntity()).getSessionid();
addCookie(responseContext, newCookie(sessionId));
responseContext.setEntity("logged in");
} else if (doesPathContain(requestContext, "/api/login/logout")) {
addCookie(responseContext, newCookie(""));
}
}
示例7: replaceResponse
import javax.ws.rs.container.ContainerResponseContext; //導入方法依賴的package包/類
/**
* Set the entity response to a 404 JSON entity.
*/
private void replaceResponse(final ContainerRequestContext requestContext, final ContainerResponseContext responseContext) {
final ServerError serverError = new ServerError();
if (requestContext.getUriInfo().getPathParameters().size() == 1) {
// Single parameter ---> entity identifier or whatever identifying a data
serverError.setCode("entity");
serverError.setMessage(requestContext.getUriInfo().getPathParameters().values().iterator().next().get(0));
} else {
serverError.setCode("data");
}
responseContext.setStatus(Status.NOT_FOUND.getStatusCode());
responseContext.setEntity(toEntity(serverError), responseContext.getEntityAnnotations(), MediaType.APPLICATION_JSON_TYPE);
}
示例8: filter
import javax.ws.rs.container.ContainerResponseContext; //導入方法依賴的package包/類
@Override
public void filter(
ContainerRequestContext containerRequestContext,
ContainerResponseContext containerResponseContext)
throws IOException {
Object entity = containerResponseContext.getEntity();
if (entity instanceof Try.Failure) {
Try.Failure failure = (Try.Failure)entity;
Exception exception = failure.getException();
Optional<APIError> optional = _exceptionConverterManager.convert(
exception);
APIError apiError = optional.orElseThrow(
() -> new MustHaveExceptionConverter(exception.getClass()));
if (_apioLogger != null) {
_apioLogger.error(apiError);
}
ErrorMessageMapper errorMessageMapper =
_errorMessageMapperManager.getErrorMessageMapper(
apiError, _httpHeaders);
String result = ErrorWriter.writeError(
errorMessageMapper, apiError, _httpHeaders);
MultivaluedMap<String, Object> headers =
containerResponseContext.getHeaders();
headers.remove("Content-Type");
headers.add("Content-Type", errorMessageMapper.getMediaType());
containerResponseContext.setEntity(result);
containerResponseContext.setStatus(apiError.getStatusCode());
}
}
示例9: filter
import javax.ws.rs.container.ContainerResponseContext; //導入方法依賴的package包/類
/**
* Creates JSON API responses for custom JAX-RS actions returning Katharsis resources.
*/
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException {
Object response = responseContext.getEntity();
if (response == null) {
return;
}
// only modify responses which contain a single or a list of Katharsis resources
if (isResourceResponse(response)) {
KatharsisBoot boot = feature.getBoot();
ResourceRegistry resourceRegistry = boot.getResourceRegistry();
DocumentMapper documentMapper = boot.getDocumentMapper();
ServiceUrlProvider serviceUrlProvider = resourceRegistry.getServiceUrlProvider();
try {
UriInfo uriInfo = requestContext.getUriInfo();
if (serviceUrlProvider instanceof UriInfoServiceUrlProvider) {
((UriInfoServiceUrlProvider) serviceUrlProvider).onRequestStarted(uriInfo);
}
JsonApiResponse jsonApiResponse = new JsonApiResponse();
jsonApiResponse.setEntity(response);
// use the Katharsis document mapper to create a JSON API response
responseContext.setEntity(documentMapper.toDocument(jsonApiResponse, null));
responseContext.getHeaders().put("Content-Type", Arrays.asList((Object)JsonApiMediaType.APPLICATION_JSON_API));
}
finally {
if (serviceUrlProvider instanceof UriInfoServiceUrlProvider) {
((UriInfoServiceUrlProvider) serviceUrlProvider).onRequestFinished();
}
}
}
}
示例10: filter
import javax.ws.rs.container.ContainerResponseContext; //導入方法依賴的package包/類
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException {
if(responseContext.getEntity() instanceof List){
List<Entity> filteredEntities = AuthorizationFactory.getAuthorizationManager().filterResponse((List<Entity>) responseContext.getEntity(), (User) requestContext.getProperty("user"));
responseContext.setEntity(filteredEntities);
}
}
示例11: filter
import javax.ws.rs.container.ContainerResponseContext; //導入方法依賴的package包/類
@Override
public void filter(ContainerRequestContext req, ContainerResponseContext resp) throws IOException {
if (resp.hasEntity() && (resp.getEntity() instanceof Status)) {
Status status = (Status) resp.getEntity();
int code = (Status.State.UP == status.getState()) ? 200 : 503;
resp.setStatus(code);
resp.setEntity(status.toJson());
resp.getHeaders().putSingle("Content-Type", MediaType.APPLICATION_JSON);
}
}
示例12: filter
import javax.ws.rs.container.ContainerResponseContext; //導入方法依賴的package包/類
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext)
throws IOException {
AuthenticationVariable authenticationVariable = AuthenticationVariable.getAuthenticationVariable();
try {
boolean crypt = authenticationVariable.isCrypt();
if (crypt) {
Object entity = responseContext.getEntity();
String key = authenticationVariable.getKey();
String encrypt = aesCrypto.encrypt(JsonUtil.toJson(entity), key);
responseContext.setEntity(encrypt, new Annotation[] {}, MediaType.TEXT_PLAIN_TYPE);
}
} catch (Exception e) {
responseContext.setEntity("權限或秘鑰錯誤!", new Annotation[] {}, MediaType.TEXT_PLAIN_TYPE);
}
User user = authenticationVariable.getUser();
if (null != user) {
UserTokenType userAuthorizationType = user.getUserAuthorizationType();
MultivaluedMap<String, Object> headers = responseContext.getHeaders();
if (userAuthorizationType.equals(UserTokenType.SINGLE_TOKEN)) {
headers.remove(AUTHORIZATION_HEADER);
headers.add(AUTHORIZATION_HEADER, UserTokenType.SINGLE_TOKEN.getValue() + " " + user.getNewToken());
Map<String, NewCookie> cookies = responseContext.getCookies();
NewCookie cookie = new NewCookie(UserTokenType.SINGLE_TOKEN.getValue(), user.getNewToken());
cookies.put(UserTokenType.SINGLE_TOKEN.getValue(), cookie);
} else if (user.isNeedRefreshToken()) {
headers.add(DUBBO_ATTACHMENT_HEADER, "refresh_token=need");
}
}
}
示例13: filter
import javax.ws.rs.container.ContainerResponseContext; //導入方法依賴的package包/類
public void filter(ContainerRequestContext reqc,
ContainerResponseContext resc) throws IOException {
MediaType mediaType = this.getMediaTypeFromExtentionOrHeader(reqc);
resc.setEntity(resc.getEntity(), new Annotation[0], mediaType);
}