0

まず第一に、この素​​晴らしいプロジェクトのチームに感謝したいと思います。Swift でサーバー側のソフトウェアを書き始めることができるのは本当に素晴らしいことです。

Ubuntu VM で PerfectServer を使用して POC を正常に実行し、モバイル クライアントと対話する API に取り組んでいます。

まだよく理解していない側面が 1 つあります。それは、PerfectServer Handler からリクエスト本文データにアクセスすることです。

私が考えているワークフローは次のとおりです。

  • クライアントは、JSON でエンコードされた本文データを含む POST 要求を PerfectServer に送信します。
  • サーバー側ハンドラーの「valuesForResponse:」にヒットすると、リクエストの WebRequest 表現を正常に取得します
  • リクエスト オブジェクトは、ヘッダーや URL のような形式のクエリ パラメータなど、HTTP リクエストの多くのプロパティを公開します。

残念ながら、基になるリクエスト ボディ データを取得する方法がわかりません。これは、リクエストを処理するためにハンドルが取得およびデコードできる生データを公開する、ある種のパブリック プロパティであることが期待されます。

プロジェクトに付属し、本体を含む POST 要求を送信する例ワークスペースで提供される唯一の例は、プロジェクト Authenticator にあります。ここで、HTTP 本文部分は、値がクエリ パラメータのような形式である UTF-8 でエンコードされた文字列の形式をとります。

name=Matteo&password=mypassword

これは、WebRequest の "param" プロパティによってサーバー ハンドラーで何らかの方法で公開されます。HTTPServer の内部実装では、"&" で区切られたキー値の文字列を想定しているようです。

私が期待するのは、必要な形式/エンコーディング、私の場合は JSON 形式で本文データを提供する方法があることです。

{"name":"Matteo", "password":"psw"}

ハンドラーで WebRequest からそのデータにアクセスし、デコードして、それを使用してリクエストを処理できるようにします。要約すると、WebRequest.bodyData パブリック プロパティが私が求めているものであると言えると思います:)。

私がここに欠けているものはありますか?明確にしていただきありがとうございます。

4

0 に答える 0