Lassen Sie uns sagen, dass ich ein Modell mit zwei Pflichtfelder haben:Endpunkte-Proto-Datenspeicher - Feld auf POST erforderlich sein sollte, aber GET nicht
class ExampleModel(EndpointsModel):
attr1 = ndb.StringProperty(required=True)
attr2 = ndb.StringProperty(required=True)
Dann möchte ich Endpunkte-Proto-Datenspeicher verwenden, auf abfragen entweder attr1 oder attr2:
@ExampleModel.query_method(query_fields=('attr1', 'attr2'),
path='example', name='list')
def example_list(self, query):
return query
Dies schlägt fehl, wenn ich nur eines der Felder - von der API Explorer ist es ein Pflichtfeld, aber die API selbst zurückgibt:
{
"error": {
"code": 400,
"errors": [
{
"domain": "global",
"message": "Error parsing ProtoRPC request (Unable to parse request content: Message CombinedContainer is missing required field attr2)",
"reason": "badRequest"
}
],
"message": "Error parsing ProtoRPC request (Unable to parse request content: Message CombinedContainer is missing required field attr2)"
}
}
Offensichtlich konnte ich sie als nicht erforderlich markieren, dann die Prüfung innerhalb des Anwendungscodes - aber ich fragte mich, ob jemand anderes eine bessere Lösung gefunden hatte.
Vielen Dank
Schätze, dass du dir die Zeit genommen hast, hier zu posten. –
Kein Problem, hast du es am Ende benutzt? – turtle
Ich habe nicht ... Ich habe einfach zu viele Dinge wie diese gefunden, die vielleicht Antworten hatten, aber nicht offensichtlich waren, und endete damit, Tech zu wechseln. –