Strukturere data med egenskaper og additionalProperties
I en Open API-spesifikasjon definerer egenskapsnøkkelordet én eller flere egenskaper for et objekt, inkludert egenskapsnavnet og datatypen. Nøkkelordet additionalProperties gir deg fleksibilitet til å legge til flere egenskaper med et ikke-definert skjema. De navngitte egenskapene er tilgjengelige som Apex med en samsvarende datatype. AdditionalProperties i spesifikasjonen er tilgjengelig i Apex som en Map-egenskap.
Nødvendige utgaver
Tilgjengelig i Lightning Experience
Tilgjengelig i Enterprise, Performance, Unlimited og Developer Edition
properties og additionalProperties under et OpenAPI-skjema-direktiv vises som formelle objektegenskaper og som en ordlisteegenskap. Hvis det erklæres under en property- eller additionalProperties-type, ignorerer OpenAPI-analysatoren den ene eller den andre. Registreringsprosessen utløser ingen feil.
OpenAPI-navngitte properties er egenskaper i Apex med samme navn og egenskapsdatatype.
OpenAPI-additionalProperties grupperes som Apex-egenskapen med navnegenskaper for og typen Map<String, Type>, der Type er den deklarerte additionalProperties. Egenskapstypen Map er en samling nøkkel-verdi-par.
OpenAPI additionalProperties er alltid erklært som en Apex objekttilordningsegenskap, selv om den kunne erklæres som en frittstående Apex Map-type. Resultatet er konsekvent håndtering av navngitte objektegenskaper definert sammen med additionalProperties.
Både OpenAPI properties og additionalProperties kan deklareres under et OpenAPI-parameterskjema eller skjema i definisjonsdelen. OpenAPI-analysatoren ignorerer enten properties eller additionalProperties hvis den er erklært som en objektegenskapstype. En objektegenskapstype må bare definere navngitt properties eller additionalProperties, men ikke begge deler. For å omgå dette plasserer du definisjonen for objektegenskapen som et navngitt skjema under definisjoner og refererer til den etter navn.
OpenAPI-analysatoren skiller ikke mellom litterale erklæringer eller skjemaer uten type. Deklarasjoner som additionalProperties: true, additionalProperties: false eller additionalProperties:
{} tolkes som uten type. Ikke-typede additionalProperties ignoreres. Det finnes ingen løsning for å definere additionalProperties som kan være av hvilken som helst type.
Flyten tillater ikke tilgang til eller manipulering av Apex-objekttyper med Map-egenskaper, men beholder innholdet transparent når det tildeles variabler av samme Apex-objekttype. For å manipulere tilordningsdatastrukturen i flyten kaller du opp en kallbar Apex-handling som kan få tilgang til tilordningsdatastrukturen. Hvis du vil se et eksempel på tilordninger av eksterne tjenester i praksis, kan du se eksempel 9 i OpenAPI 2.0-skjemaet for eksterne tjenester.
I alle registreringer av eksterne tjenester som du oppretter i systemversjon 7 og nyere, kan du definere en egenskap med et navn som begynner med et tall. Når denne egenskapen åpnes i flyt eller Apex, justerer kodingsprosessen navnet på egenskapen.
{
"UserAvatarUrls": {
"type": "object",
"properties": {
"24x24": {
"type": "string",
"description": "The URL of the user's 24x24 pixel avatar.",
"format": "uri"
},
"32x32": {
"type": "string",
"description": "The URL of the user's 32x32 pixel avatar.",
"format": "uri"
},
"16x16": {
"type": "string",
"description": "The URL of the user's 16x16 pixel avatar.",
"format": "uri"
},
"48x48": {
"type": "string",
"description": "The URL of the user's 48x48 pixel avatar.",
"format": "uri"
}
}
}
}
We use three kinds of cookies on our websites: required, functional, and advertising. You can choose whether functional and advertising cookies apply. Click on the different cookie categories to find out more about each category and to change the default settings.
Privacy Statement
Required Cookies
Always Active
Required cookies are necessary for basic website functionality. Some examples include: session cookies needed to transmit the website, authentication cookies, and security cookies.
Functional Cookies
Functional cookies enhance functions, performance, and services on the website. Some examples include: cookies used to analyze site traffic, cookies used for market research, and cookies used to display advertising that is not directed to a particular individual.
Advertising Cookies
Advertising cookies track activity across websites in order to understand a viewer’s interests, and direct them specific marketing. Some examples include: cookies used for remarketing, or interest-based advertising.