本文整理汇总了Java中javax.ws.rs.core.HttpHeaders.ACCEPT属性的典型用法代码示例。如果您正苦于以下问题:Java HttpHeaders.ACCEPT属性的具体用法?Java HttpHeaders.ACCEPT怎么用?Java HttpHeaders.ACCEPT使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类javax.ws.rs.core.HttpHeaders
的用法示例。
在下文中一共展示了HttpHeaders.ACCEPT属性的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: merge
/**
* MERGE メソッドの処理.
* @param reader リクエストボディ
* @param accept Accept ヘッダ
* @param ifMatch If-Match ヘッダ
* @return JAX-RSResponse
*/
public Response merge(Reader reader,
@HeaderParam(HttpHeaders.ACCEPT) final String accept,
@HeaderParam(HttpHeaders.IF_MATCH) final String ifMatch) {
// メソッド実行可否チェック
checkNotAllowedMethod();
// アクセス制御
this.odataResource.checkAccessContext(this.accessContext,
this.odataResource.getNecessaryWritePrivilege(getEntitySetName()));
// リクエストからOEntityWrapperを作成する.
OEntity oe = this.createRequestEntity(reader, this.oEntityKey);
OEntityWrapper oew = new OEntityWrapper(null, oe, null);
// 必要ならばメタ情報をつける処理
this.odataResource.beforeMerge(oew, this.oEntityKey);
// If-Matchヘッダで入力されたETagをMVCC用での衝突検知用にOEntityWrapperに設定する。
String etag = ODataResource.parseEtagHeader(ifMatch);
oew.setEtag(etag);
// MERGE処理をODataProducerに依頼。
// こちらでリソースの存在確認もしてもらう。
getOdataProducer().mergeEntity(getEntitySetName(), this.oEntityKey, oew);
// 特に例外があがらなければ、レスポンスを返す。
// oewに新たに登録されたETagを返す
etag = oew.getEtag();
return Response.noContent()
.header(HttpHeaders.ETAG, ODataResource.renderEtagHeader(etag))
.header(ODataConstants.Headers.DATA_SERVICE_VERSION, ODataVersion.V2.asString)
.build();
}
示例2: put
/**
* PUT メソッドの処理.
* @param reader リクエストボディ
* @param accept Accept ヘッダ
* @param ifMatch If-Match ヘッダ
* @return JAX-RSResponse
*/
@WriteAPI
@PUT
public Response put(Reader reader,
@HeaderParam(HttpHeaders.ACCEPT) final String accept,
@HeaderParam(HttpHeaders.IF_MATCH) final String ifMatch) {
// メソッド実行可否チェック
checkNotAllowedMethod();
// アクセス制御
this.odataResource.checkAccessContext(this.accessContext,
this.odataResource.getNecessaryWritePrivilege(getEntitySetName()));
String etag;
// リクエストの更新をProducerに依頼
OEntityWrapper oew = updateEntity(reader, ifMatch);
// 特に例外があがらなければ、レスポンスを返す。
// oewに新たに登録されたETagを返す
etag = oew.getEtag();
return Response.noContent()
.header(HttpHeaders.ETAG, ODataResource.renderEtagHeader(etag))
.header(ODataConstants.Headers.DATA_SERVICE_VERSION, ODataVersion.V2.asString)
.build();
}
示例3: merge
/**
* MERGE メソッドの処理.
* @param reader リクエストボディ
* @param accept Accept ヘッダ
* @param ifMatch If-Match ヘッダ
* @return JAX-RSResponse
*/
@WriteAPI
@MERGE
public Response merge(Reader reader,
@HeaderParam(HttpHeaders.ACCEPT) final String accept,
@HeaderParam(HttpHeaders.IF_MATCH) final String ifMatch) {
ODataMergeResource oDataMergeResource = new ODataMergeResource(this.odataResource, this.getEntitySetName(),
this.keyString);
return oDataMergeResource.merge(reader, accept, ifMatch);
}
示例4: delete
/**
* DELETEメソッドの処理.
* @param accept Accept ヘッダ
* @param ifMatch If-Match ヘッダ
* @return JAX-RS Response
*/
@WriteAPI
@DELETE
public Response delete(
@HeaderParam(HttpHeaders.ACCEPT) final String accept,
@HeaderParam(HttpHeaders.IF_MATCH) final String ifMatch) {
// アクセス制御
this.odataResource.checkAccessContext(this.accessContext,
this.odataResource.getNecessaryWritePrivilege(getEntitySetName()));
deleteEntity(ifMatch);
return Response.noContent().header(ODataConstants.Headers.DATA_SERVICE_VERSION, ODataVersion.V2.asString)
.build();
}
示例5: post
/**
* @param uriInfo UriInfo
* @param accept Acceptヘッダ
* @param format $format パラメタ
* @param reader リクエストボディ
* @return JAX-RS Response
*/
@WriteAPI
@POST
public Response post(
@Context final UriInfo uriInfo,
@HeaderParam(HttpHeaders.ACCEPT) final String accept,
@DefaultValue(FORMAT_JSON) @QueryParam("$format") final String format,
final Reader reader) {
// メソッド実行可否チェック
checkNotAllowedMethod(uriInfo);
// アクセス制御
this.odataResource.checkAccessContext(this.accessContext,
this.odataResource.getNecessaryWritePrivilege(getEntitySetName()));
UriInfo resUriInfo = PersoniumCoreUtils.createUriInfo(uriInfo, 1);
// Entityの作成を Producerに依頼
EntityResponse res = this.createEntity(reader, this.odataResource);
// 作成結果の評価
OEntity ent = res.getEntity();
// 現状は、ContentTypeはJSON固定
MediaType outputFormat = this.decideOutputFormat(accept, format);
// Entity Responseをレンダー
List<MediaType> contentTypes = new ArrayList<MediaType>();
contentTypes.add(outputFormat);
String key = AbstractODataResource.replaceDummyKeyToNull(ent.getEntityKey().toKeyString());
String responseStr = renderEntityResponse(resUriInfo, res, format, contentTypes);
// 制御コードのエスケープ処理
responseStr = escapeResponsebody(responseStr);
ResponseBuilder rb = getPostResponseBuilder(ent, outputFormat, responseStr, resUriInfo, key);
return rb.build();
}
示例6: get
/**
* GETメソッドの処理.
* @param uriInfo UriInfo
* @param accept Accept ヘッダ
* @param ifNoneMatch If-None-Match ヘッダ
* @param format $format パラメタ
* @param expand $expand パラメタ
* @param select $select パラメタ
* @return JAX-RSResponse
*/
@GET
public Response get(
@Context final UriInfo uriInfo,
@HeaderParam(HttpHeaders.ACCEPT) String accept,
@HeaderParam(HttpHeaders.IF_NONE_MATCH) String ifNoneMatch,
@QueryParam("$format") String format,
@QueryParam("$expand") String expand,
@QueryParam("$select") String select) {
// アクセス制御
this.odataResource.checkAccessContext(this.accessContext,
this.odataResource.getNecessaryReadPrivilege(getEntitySetName()));
UriInfo resUriInfo = PersoniumCoreUtils.createUriInfo(uriInfo, 1);
// $formatとAcceptヘッダの値から出力形式を決定
MediaType contentType = decideOutputFormat(accept, format);
String outputFormat = FORMAT_JSON;
if (MediaType.APPLICATION_ATOM_XML_TYPE.equals(contentType)) {
outputFormat = FORMAT_ATOM;
}
// Entityの取得をProducerに依頼
EntityResponse entityResp = getEntity(expand, select, resUriInfo);
String respStr = renderEntityResponse(resUriInfo, entityResp, outputFormat, null);
// 制御コードのエスケープ処理
respStr = escapeResponsebody(respStr);
ResponseBuilder rb = Response.ok().type(contentType);
rb.header(ODataConstants.Headers.DATA_SERVICE_VERSION, ODataVersion.V2.asString);
// ETagを正式実装するときに、返却する必要がある
OEntity entity = entityResp.getEntity();
String etag = null;
// 基本的にこのIF文に入る。
if (entity instanceof OEntityWrapper) {
OEntityWrapper oew = (OEntityWrapper) entity;
// エンティティごとのアクセス可否判断
this.odataResource.checkAccessContextPerEntity(this.accessContext, oew);
etag = oew.getEtag();
// 基本的にこのIF文に入る。
if (etag != null) {
// If-None-Matchヘッダの指定があるとき
if (ifNoneMatch != null && ifNoneMatch.equals(ODataResource.renderEtagHeader(etag))) {
return Response.notModified().build();
}
// ETagヘッダの付与
rb.header(HttpHeaders.ETAG, ODataResource.renderEtagHeader(etag));
}
}
return rb.entity(respStr).build();
}
示例7: postEntity
/**
* POST メソッドへの処理.
* @param uriInfo UriInfo
* @param accept アクセプトヘッダ
* @param format $formatクエリ
* @param reader リクエストボディ
* @return JAX-RS Response
*/
@WriteAPI
@POST
public final Response postEntity(
@Context final UriInfo uriInfo,
@HeaderParam(HttpHeaders.ACCEPT) final String accept,
@DefaultValue(FORMAT_JSON) @QueryParam("$format") final String format,
final Reader reader) {
// アクセス制御
this.checkWriteAccessContext();
OEntityWrapper oew = createEntityFromInputStream(reader);
EntityResponse res = getOdataProducer().createNp(this.sourceEntityId, this.targetNavProp,
oew, getEntitySetName());
if (res == null || res.getEntity() == null) {
return Response.status(HttpStatus.SC_PRECONDITION_FAILED).entity("conflict").build();
}
OEntity ent = res.getEntity();
String etag = oew.getEtag();
// バージョンが更新された場合、etagを更新する
if (etag != null && ent instanceof OEntityWrapper) {
((OEntityWrapper) ent).setEtag(etag);
}
// 現状は、ContentTypeはJSON固定
MediaType outputFormat = this.decideOutputFormat(accept, format);
// Entity Responseをレンダー
List<MediaType> contentTypes = new ArrayList<MediaType>();
contentTypes.add(outputFormat);
UriInfo resUriInfo = PersoniumCoreUtils.createUriInfo(uriInfo, 2);
String key = AbstractODataResource.replaceDummyKeyToNull(ent.getEntityKey().toKeyString());
String responseStr = renderEntityResponse(resUriInfo, res, format, contentTypes);
// 制御コードのエスケープ処理
responseStr = escapeResponsebody(responseStr);
ResponseBuilder rb = getPostResponseBuilder(ent, outputFormat, responseStr, resUriInfo, key);
return rb.build();
}
示例8: getNavProperty
/**
* NavPropに対するGETメソッドによる検索処理.
* @param uriInfo UriInfo
* @param accept Acceptヘッダ
* @param callback ?? なんだこれは?JSONP?
* @param skipToken ?? なんだこれは?
* @param q 全文検索パラメタ
* @return JAX-RS Response
*/
@GET
@Produces({ODataConstants.APPLICATION_ATOM_XML_CHARSET_UTF8, ODataConstants.TEXT_JAVASCRIPT_CHARSET_UTF8,
ODataConstants.APPLICATION_JAVASCRIPT_CHARSET_UTF8 })
public final Response getNavProperty(
@Context final UriInfo uriInfo,
@HeaderParam(HttpHeaders.ACCEPT) final String accept,
@QueryParam("$callback") final String callback,
@QueryParam("$skiptoken") final String skipToken,
@QueryParam("q") final String q) {
// アクセス制御
this.checkReadAccessContext();
// queryのパース
UriInfo uriInfo2 = PersoniumCoreUtils.createUriInfo(uriInfo, 2);
QueryInfo queryInfo = ODataEntitiesResource.queryInfo(uriInfo);
// NavigationProperty経由の一覧取得を実行する
BaseResponse response = getOdataProducer().getNavProperty(
this.sourceEntityId.getEntitySetName(),
this.sourceEntityId.getEntityKey(),
this.targetNavProp,
queryInfo);
StringWriter sw = new StringWriter();
// TODO 制限事項でAcceptは無視してJSONで返却するため固定でJSONを指定する.
List<MediaType> acceptableMediaTypes = new ArrayList<MediaType>();
acceptableMediaTypes.add(MediaType.APPLICATION_JSON_TYPE);
// TODO 制限事項でQueryは無視するため固定でnullを指定する.
FormatWriter<EntitiesResponse> fw = PersoniumFormatWriterFactory.getFormatWriter(EntitiesResponse.class,
acceptableMediaTypes, null, callback);
fw.write(uriInfo2, sw, (EntitiesResponse) response);
String entity = sw.toString();
// 制御コードのエスケープ処理
entity = escapeResponsebody(entity);
ODataVersion version = ODataVersion.V2;
return Response.ok(entity, fw.getContentType())
.header(ODataConstants.Headers.DATA_SERVICE_VERSION, version.asString).build();
}
示例9: listEntities
/**
* @param uriInfo UriInfo
* @param accept Acceptヘッダ
* @param format $format パラメタ
* @param callback コールバック
* @param skipToken スキップトークン
* @param q 全文検索パラメタ
* @return JAX-RS Response
*/
@GET
public Response listEntities(
@Context UriInfo uriInfo,
@HeaderParam(HttpHeaders.ACCEPT) final String accept,
@QueryParam("$format") String format,
@QueryParam("$callback") final String callback,
@QueryParam("$skiptoken") final String skipToken,
@QueryParam("q") final String q) {
// アクセス制御
this.odataResource.checkAccessContext(this.accessContext,
this.odataResource.getNecessaryReadPrivilege(getEntitySetName()));
// リクエストの取得をProducerに依頼
EntitiesResponse resp = getEntities(uriInfo, q);
StringWriter sw = new StringWriter();
// $formatとAcceptヘッダの値から出力形式を決定
List<MediaType> acceptableMediaTypes = new ArrayList<MediaType>();
MediaType contentType = decideOutputFormat(accept, format);
acceptableMediaTypes.add(contentType);
FormatWriter<EntitiesResponse> fw = PersoniumFormatWriterFactory.getFormatWriter(EntitiesResponse.class,
acceptableMediaTypes, null, callback);
UriInfo uriInfo2 = PersoniumCoreUtils.createUriInfo(uriInfo, 1);
fw.write(uriInfo2, sw, resp);
String entity = null;
entity = sw.toString();
// 制御コードのエスケープ処理
entity = escapeResponsebody(entity);
// TODO remove this hack, check whether we are Version 2.0 compatible anyway
ODataVersion version = null;
version = ODataVersion.V2;
return Response.ok(entity, fw.getContentType())
.header(ODataConstants.Headers.DATA_SERVICE_VERSION, version.asString).build();
}