当前位置: 首页>>代码示例>>Java>>正文


Java HttpHeaders.ACCEPT属性代码示例

本文整理汇总了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();

}
 
开发者ID:personium,项目名称:personium-core,代码行数:41,代码来源:ODataMergeResource.java

示例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();
}
 
开发者ID:personium,项目名称:personium-core,代码行数:33,代码来源:ODataEntityResource.java

示例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);
}
 
开发者ID:personium,项目名称:personium-core,代码行数:16,代码来源:ODataEntityResource.java

示例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();
}
 
开发者ID:personium,项目名称:personium-core,代码行数:19,代码来源:ODataEntityResource.java

示例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();
}
 
开发者ID:personium,项目名称:personium-core,代码行数:45,代码来源:ODataEntitiesResource.java

示例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();
}
 
开发者ID:personium,项目名称:personium-core,代码行数:63,代码来源:ODataEntityResource.java

示例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();
}
 
开发者ID:personium,项目名称:personium-core,代码行数:48,代码来源:ODataPropertyResource.java

示例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();
}
 
开发者ID:personium,项目名称:personium-core,代码行数:51,代码来源:ODataPropertyResource.java

示例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();
}
 
开发者ID:personium,项目名称:personium-core,代码行数:49,代码来源:ODataEntitiesResource.java


注:本文中的javax.ws.rs.core.HttpHeaders.ACCEPT属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。