2.36. Rest


REST サービスおよび OpenAPI Specification を公開するか、外部の REST サービスを呼び出します。

2.36.1. 含まれるもの

使用方法と設定の詳細については、上記リンクを参照してください。

2.36.2. Maven コーディネート

code.quarkus.redhat.com でこのエクステンションを使用して新しいプロジェクトの作成

または、既存のプロジェクトに座標を追加します。

<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-rest</artifactId>
</dependency>

2.36.3. 追加の Camel Quarkus 設定

このエクステンションは、Platform HTTP エクステンションに依存し、REST トランスポートを提供するコンポーネントとして設定します。

2.36.3.1. platform-http 付きの特殊文字を含むパスパラメーター

platform-http REST トランスポートを使用する場合、一部の文字はパスパラメーター名内で許可されません。これには、- および $ 文字が含まれます。

以下の例の REST /dashed/param ルートを正しく機能させるには、システムプロパティーを io.vertx.web.route.param.extended-pattern=true にする必要があります。

import org.apache.camel.builder.RouteBuilder;

public class CamelRoute extends RouteBuilder {

    @Override
    public void configure() {
        rest("/api")
            // Dash '-' is not allowed by default
            .get("/dashed/param/{my-param}")
            .route()
                .setBody(constant("Hello World"))
            .endRest()

            // The non-dashed path parameter works by default
            .get("/undashed/param/{myParam}")
            .route()
                .setBody(constant("Hello World"))
            .endRest();
    }
}

Vert.x Web ドキュメント には、これに関するいくつかの背景があります。

2.36.3.2. 代替 REST トランスポートプロバイダーの設定

netty-httpservlet 等の別の REST トランスポートプロバイダーを使用するには、それぞれのエクステンションを依存関係としてプロジェクトへの追加し、RouteBuilder でプロバイダーを設定する必要があります。たとえば、servlet の場合、org.apache.camel.quarkus:camel-quarkus-servlet 依存関係を追加し、プロバイダーを次のように設定する必要があります。

import org.apache.camel.builder.RouteBuilder;

public class CamelRoute extends RouteBuilder {

    @Override
    public void configure() {
        restConfiguration()
                .component("servlet");
        ...
    }
}
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.