API GETレスポンスから特定のフィールドのみを返す

Discourse API ドキュメントからの続きです。

こんにちは

これについての回答が見つかりませんでした。どなたか、Discourse API が GET リクエストへの応答で、要求されたフィールドのみを返すように指定できるかどうかご存知ですか?

たとえば、グループメンバーをリストする GET リクエスト (https://{defaultHost}/groups/{id}/members.json) は次のように返されます。

 {
   "members": [
     {
       "id": 0,
       "username": "string",
       "name": "string",
       "avatar_template": "string",
       "title": "string",
       "last_posted_at": "string",
       "last_seen_at": "string",
       "added_at": "string",
       "timezone": "string"
     }
   ],
   "owners": [
     {
       "id": 0,
       "username": "string",
       "name": "string",
       "avatar_template": "string",
       "title": "string",
       "last_posted_at": "string",
       "last_seen_at": "string",
       "added_at": "string",
       "timezone": "string"
     }
   ],
   "meta": {
     "total": 0,
     "limit": 0,
     "offset": 0
   }
 }

特定のフィールドのみを返すようにリクエストを送信する方法はありますか?たとえば、メンバーのユーザー名のみを返すようにするにはどうすればよいですか?

{
  "members": [
    {
       "username": "string"
    }
  ]
}

全体的な応答を取得してから、JSON と配列をフィルタリングして特定の値を取得するためにコーディングを使用できることは知っています。しかし、リクエストで特定の値を返したいのです。それは可能ですか?

ありがとうございます!

「いいね!」 1

素晴らしい質問ですが、いいえ、それはオプションではありません。パラメータをフィルタリングするために待機しているコアアプリには何もありません。

コマンドラインの jq のようなツールを使用するか、API リクエストを行っているプログラミング言語を使用して、結果をフィルタリングするのが最善だと思います。

これは実際に必須の要件である場合、2 つのオプションが存在します。データエクスプローラープラグインを使用して必要なデータのみを返すクエリを作成し、そのクエリに API リクエストを行うことができます。別の代替案は、新しいルートとコントローラーを作成して必要なデータのみを返すカスタムプラグインを作成することです。

「いいね!」 1

素晴らしい!これで大いに役立つと思います。:folded_hands: 本当にありがとうございます!

「いいね!」 1

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.