1
2つのResourceContainerを定義しました。ResourceContainerが2つ以上定義されている場合、endpointscfg.pyは機能しません
しかし、echov1openapi.jsonはendpointscfg.pyによって生成されますが、Containerは1つだけです。など
:
class TestRequest(messages.Message):
foo = messages.StringField(1)
bar = messages.StringField(2)
class EchoRequest(messages.Message):
aaa = messages.StringField(1)
bbb = messages.StringField(2)
ECHO_RESOURCE = endpoints.ResourceContainer(
EchoRequest,
n=messages.IntegerField(3))
TEST_RESOURCE = endpoints.ResourceContainer(
TestRequest,
test=messages.IntegerField(3))
...
@endpoints.method(
ECHO_RESOURCE,
EchoResponse,
path='echo',
http_method='POST',
name='echoTest')
def echo(self, request):
...
@endpoints.method(
TEST_RESOURCE,
EchoResponse,
path='echo2',
http_method='POST',
name='echo2')
def echo2(self, request):
....
次いで、Iはendpointscfg.pyを実行します。しかし、TEST_RESOURCEは表示されません。
"definitions": {
...
"ProtorpcMessagesCombinedContainer": { ★ECHO_RESOURCE
"properties": {
"aaa": {
"type": "string"
},
"bbb": {
"type": "string"
},
"n": {
"format": "int64",
"type": "string"
}
},
"type": "object"
}
},
...
"paths": {
"/echo/v1/echo": {
"post": {
"operationId": "EchoApi_echo",
"parameters": [
{
"in": "body",
"name": "body",
"schema": {
"$ref": "#/definitions/ProtorpcMessagesCombinedContainer"★refer ECHO_RESOURCE
}
}
],
...
"/echo/v1/echo2": {
"post": {
"operationId": "EchoApi_echo2",
"parameters": [
{
"in": "body",
"name": "body",
"schema": {
"$ref": "#/definitions/ProtorpcMessagesCombinedContainer"★not TEST_RESOURCE but ECHO_RESOURCE!
}
}
],
それは仕様ですか、それともBUGですか? ResourceContainerはAPIごとに1回定義できますか?
と、ResourceContainerに関するAPIリファレンスが見つかりませんでした。 リファレンスページはどこですか?