5

次の 3 つのエンドポイントが必要です。

/games
/images
/games/<game_id>/images

ここに私のsettings.pyファイルからの抜粋があります

#...

games = {
    "schema": {
        "title": {
            "type": "string",
            "required": True
        },
        "name": {
            "type": "string",
            "required": True
        },
    }
}

images = {
    "schema": {
        "game_id": {
            "type": "string",
            "required": True,
        },
        "title": {
            "type": "string",
            "required": True,
        },
    },
    "url": "games/<regex('[a-f0-9]{24}'):game_id>/images"
}
#...

url プロパティを省略した場合、GET /: で 2 つの期待されるエンドポイントを取得します。

/games

/images

ただし、url プロパティを含めると、/images をヒットできず、代わりに /games のみをヒットできます。次に/games/<game_id>/images示すように:

{
    "_links": {
        "child": [
            {
                "href": "/games/<regex('[a-f0-9]{24}'):game_id>/images",
                "title": "games/<regex('[a-f0-9]{24}'):game_id>/images"
            },
            {
                "href": "/games",
                "title": "games"
            }
        ]
    }
}

コレクションの画像を保持し、そのドキュメントをサブリソース クエリで利用できるようにするにはどうすればよいですか?

4

1 に答える 1

4

3 つの異なるエンドポイントを設定できますが、そのうちの 2 つは同じデータベース リソース (画像) を消費しています。このようなもの:

images_schema: {
  "game_id": {
    "type": "string",
    "required": True,
  },
  "title": {
    "type": "string",
    "required": True,
  },
}

games = {
  "schema": {
    "title": {
      "type": "string",
      "required": True
    },
    "name": {
      "type": "string",
      "required": True
    },
  }
}

images = {
  "schema": images_schema,
  "url": "images"  # not really needed
}

games_images = {
  "schema": images_schema,
  "url": "games/<regex('[a-f0-9]{24}'):game_id>/images",
  "datasource": {"source": "images"}
}

参照用に、複数の API エンドポイント、1 つのデータソースを参照してください。

于 2014-10-03T07:38:21.353 に答える