Wie zu Referenz auf eine ID eines anderen Modells definition in Fors

Angenommen ich habe einen Benutzer und eine UserType model. Ich möchte hinzufügen, die einen Verweis auf die UserType-ID in die User-Modell. Fors-Dokumentation zeigt, wie der Verweis auf eine andere (ganze) Modell, nicht nur eine seiner Eigenschaften.

So Frage ich mich, es ist sogar möglich, nur als Referenz, um eine Eigenschaft eines anderen Modell-definition.

"definitions": {
    "User": {
        "required": [
            "username",
            "typeId"
        ],
        "properties": {
            "id": {
                "type": "integer",
                "format": "int32"
            },
            "username": {
                "type": "string"
            },
            "typeId": {
                "$ref": "UserType.id" //==> this doesn't work! and without
                                      //the ".id" part it would include all
                                      //the properties of UserType
            }
        }
    },
    "UserType": {
        "required": [
            "name"
        ],
        "properties": {
            "id": {
                "type": "integer",
                "format": "int32"
            },
            "name": {
                "type": "string"
            }
        }
    }
}

Oder ist das gar nicht möglich, und es sollte stets nur:

"definitions": {
    "User": {
        ...
        "properties": {
            "typeId": {
                "type": "integer",
                "format": "int32"
            }
        }
    },
    ...
}
  • Bevor ich in die Antwort, warum wollen Sie, zum verweisen auf eine primitive definition? Was bedeutet speichern, dass Sie beim schreiben?
  • Ich denke, ich denke, es wäre übersichtlicher für jedermann Lesen Sie den REST der Dokumentation zu sehen, die "verbunden" - Modell.
  • Und falls ich die brauchen würde, um ändern Sie den Typ UserType.id würde ich nicht brauchen, zu aktualisieren, alle Referenzen.
  • Im reinsten Sinn, verweisen von einem Objekt auf ein anderes, bedeutet nicht, dass eine Beziehung zwischen den Objekten. Es ist einfach zu kopieren-definition. Ich würde vorschlagen, zu erklären, von "Beschreibung" und nicht so. Für den zweiten Kommentar, ich kann Ihnen zeigen, wie Sie das tun -, dass die Nutzung Fall mehr Sinn macht. Allerdings, wenn das ist, was Sie möchten, würde ich bitten, dass Sie Bearbeiten die Frage zunächst zu klären, es.
  • so etwas wie "$ref": "#/definitions/UserType/properties/id"?
  • Technisch, ja, aber ich kann nicht garantieren, wir würden tatsächlich unterstützen. Dies ist nicht das, was wir beabsichtigten, und möglicherweise müssen wir, es zu klären. Ich würde vorschlagen, das externalisieren der typeId-insgesamt.
  • können Sie ein Beispiel geben? (als Antwort)

InformationsquelleAutor roberkules | 2014-11-08
Schreibe einen Kommentar