0

そのため、私はクールな RESTful API の作成に多くの時間を費やしてきました。簡単にするために、 へのPOSTリクエストを実行して新しいユーザーを作成できます/users

すごいね?しかし今、私の HTML フォームはユーザーを作成したいと考えています。そのすべての要素は、 に渡す必要がある引数と同じです/usersformしたがって、がこの優れた API をフルに活用することは非常に理にかなっているように思われます。

私のフォームは にあります/register.html。プロパティは次のとおりaction="/users" method="post"です。すぐに使用できる API との優れた統合!

問題?RESTful API は JSON で応答しますが、フォームはこの応答を処理できません。たとえば、無効な電子メール アドレスが渡された場合、返される本文は{"error": 400, "msg": "The given email address is invalid."}. 代わりに、register.htmlこのメッセージを受け取り、ユーザーが入力ミスを修正できるようにしながら、適切なメッセージを表示する必要があります。

明らかな解決策は、フォームをまったく送信せず、代わりに AJAX を使用して、入力の値に基づいて API と対話することです。ただし、Javascript を使用しないユーザーにとってはフォームが役に立たないため、これは理想とはほど遠いものです。

私が検討できる他のアプローチはありますか?または、フォーム入力を API と組み合わせるべきではありませんか?

大した問題ではないと思いますが、私は Node.js を使用しています。

4

1 に答える 1

2

1 つのオプションはデュアルモード API です。JSON とフォームデータの入力を受け入れ、応答として JSON と HTML (または HTML フラグメント) を出力します。

HTML フラグメントは、シームレスな iframe のコンテキストで意味を成し始めます。それまでの間、そのアプローチは依然としてクライアントで JavaScript を使用します。完全な HTML は従来の Web です。リソースが HTML と JSON の両方で表現されることを妨げるものは何もありません。

AcceptとヘッダーはあなたのContent-Type友達です。リソースの URL をリソース自体の表現と混同しないでください。これらは 3 つの別個のものです。はい、時々面倒です。世界もそうだ!

于 2013-08-18T16:29:28.127 に答える