---
schema_version: "1"
id: 2b6ffb6f6f8b726c15646fca4b5bec00d791fccc4b7510d65386de998934c064
title: フォームの投稿の例
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/http-connector/1.5/http-post-form-task.md
canonical_url: https://docs.mulesoft.com/jp/http-connector/1.5/http-post-form-task
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 8cf5c2e45d56b51d30999f365c746b868b127151f17670da4cfb2dc8a4e6e3f9
description: MuleSoft Documentation Site
release: "1.5"
latest: false
---
# フォームの投稿の例

次の例は、form (フォーム) パラメーターが含まれる HTTP 要求を送信してフォームを投稿するように HTTP 用 Anypoint Connector (HTTP Connector) の Listener ソースを設定する方法を示しています。 この例を実行するには、Mule アプリケーションを作成し、HTTP グローバル要素を設定し、アプリケーションを実行し、curl コマンドを使用してフォームを投稿する必要があります。

次のスクリーンショットは、この例の Anypoint Studio アプリケーションフローを示しています。

![フォームの投稿フロー](/mulesoft/current/ja-jp/http-connector/1.5/_images/http-example-post-form-flow.png)

Figure 1. フォームの投稿フロー

## [](#mule-アプリケーションの作成)Mule アプリケーションの作成

Mule フローを作成する手順は、次のとおりです。

1. **\[Mule Palette (Mule パレット)\]**​ ビューで、\[HTTP\] の ​**\[Listener\]**​ ソースを選択してキャンバスにドラッグします。  
    このソースは受信 HTTP メッセージ属性をリスンすることでフローを開始します。
2. **\[Path (パス)\]**​ 項目を ​`submitform`​ に設定します。
3. **\[Connector configuration (コネクタ設定)\]**​ 項目の横にあるプラス記号 (​**+**​) をクリックして、アプリケーション内の HTTP の ​**Listener**​ のすべてのインスタンスで使用できるグローバル要素を設定します。
4. **\[General (一般)\]**​ タブで、次の項目を設定します。
    
    - **Host (ホスト)**​: `localhost`
    - **Port (ポート)**​: `8081`
5. **\[OK\]**​ をクリックします。
6. **Choice**​ ルーターコンポーネントを \[HTTP\] の ​**\[Listener\]**​ ソースの右にドラッグします。  
    **Choice**​ ルーターにより、条件処理がフローに追加されます。
7. **\[Set Payload\]**​ コンポーネントを ​**\[Choice\]**​ ルーターの ​**\[When (条件)\]**​ 条件ボックスにドラッグします。
8. **\[Value (値)\]**​ 項目を ​`Sorry #[payload.'firstname'], you’re too young to register.`​ に設定します。  
    この式は、要求に含まれている form (フォーム) パラメーターの 1 つ ​`firstname`​ を参照しています。コネクタで受信したパラメーターは、Mule メッセージペイロード内にマップ内の項目として存在します。
9. **Choice**​ ルーターで ​**\[When (条件)\]**​ 条件を選択します。
10. **\[Expression (式)\]**​ 項目を ​`#[server.dateTime.year-18 < payload.'yearborn']`​ に設定します。  
    この式は受信 form (フォーム) パラメーターの 1 つ ​`yearborn`​ を参照しています。
11. 別の ​**\[Set Payload\]**​ コンポーネントを ​**Choice**​ ルーターの ​**\[Default (デフォルト)\]**​ 条件ボックスにドラッグします。
12. **\[Value (値)\]**​ 項目を ​`Registration has been carried out successfully! Welcome #[payload.'firstname'] #[payload.'lastname']!`​ に設定します。
13. Mule アプリケーションを保存します。
14. **Package Explorer**​ でプロジェクト名をクリックし、​**\[Run (実行)\]**​ > ​**\[Run As (別のユーザーとして実行)\]**​ > ​**\[Mule Application (Mule アプリケーション)\]**​ をクリックします。
15. フォームを投稿するには、curl コマンド ​`http://localhost:8081/submitform`​ を実行します。

投稿本文には、form (フォーム) パラメーター ​`firstname`​、​`lastname`​、​`yearborn`​ が含まれています。

```text
POST /submitform HTTP/1.1

User-Agent: Mule/3.6
Content-Type: application/x-www-form-urlencoded
Content-Length: 32

firstname=Aaron&lastname=Aguilar+Acevedo&yearborn=1999
```

HTTP リスナーは要求を受信すると、次のキー-値ペアのマップ種別のペイロードが含まれる Mule メッセージを作成します。

`firstname: Aaron`  
`lastname: Aguilar Acevedo`  
`yearborn: 1999`

`lastname`​ パラメーターの HTTP 要求の値はエンコードされていますが (​`Aguilar+Acevedo)`​、Mule メッセージに配置するときにコネクタが値を自動的にデコードします。

フローの残りのどのブロックでも、MEL 式を使用して対応するキーを参照することで、マップペイロードの要素の値に簡単にアクセスできます。

前の例では、​`yearborn`​ キーと一致する値が、式 ​`#[payload.'yearborn']`​ を介して取得されます。この式の値に応じて、2 つの異なるパスのいずれかが使用されます。

- 最初のパスでは、類似の MEL 式を使用して ​`firstname`​ キーと一致する値を参照し、ペイロードに登録を拒否するメッセージを設定します。
- 2 つ目のパスでは登録を受諾し、​`firstname`​ と ​`lastname`​ の値を参照して、名前でユーザーを歓迎します。

## [](#フォームの投稿アプリケーションの-xml)フォームの投稿アプリケーションの XML

この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。

```xml
<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:http="http://www.mulesoft.org/schema/mule/http"
	xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
	xmlns:spring="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd">


    <http:listener-config name="HTTP_Listener_Configuration" host="localhost" port="8081" doc:name="HTTP Listener Configuration"/>
    <flow name="RegisterUser">
        <http:listener config-ref="HTTP_Listener_Configuration" path="submitform" doc:name="HTTP"/>
        <choice doc:name="Choice">
            <when expression="#[server.dateTime.year-18 &lt; payload.'yearborn']">
                <set-payload value="Sorry #[payload.'firstname'], you're too young to register." doc:name="Too young"/>
            </when>
            <otherwise>
                <set-payload value="Registration has been carried out successfully! Welcome #[payload.'firstname'] #[payload.'lastname']!" doc:name="Success"/>
            </otherwise>
        </choice>
    </flow>
</mule>
```

## [](#関連情報)関連情報

- [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors)
- [MuleSoft ヘルプセンター](https://help.mulesoft.com)