Questa pagina descrive le best practice per la creazione di una nuova API da aggiungere a Deployment Manager come provider di tipi o per l'aggiunta di un'API esistente come provider di tipi.
Deployment Manager ti consente di aggiungere API come provider di tipi per esporre le risorse API come tipi che puoi chiamare nella configurazione. Per semplificare la procedura, segui queste best practice quando configuri o crei un'API.
Creazione di una nuova API
Se stai creando una nuova API che intendi integrare con Deployment Manager, segui queste best practice.
Utilizza i metodi standard Create, Read, Update e Delete (CRUD) ed evita i metodi personalizzati
Se possibile, evita di creare metodi personalizzati. Attieniti ai metodi REST standard, come GET, POST, PUT e DELETE. Questi metodi vengono riconosciuti da Deployment Manager e possono essere mappati automaticamente.
Per le API Discovery, devi assegnare un nome ai metodi API in base alla seguente mappatura:
| Metodo REST | Denominazione API consigliata |
|---|---|
POST |
create o insert |
GET |
get |
PUT |
update |
DELETE |
delete |
Per le specifiche OpenAPI, non puoi assegnare ai metodi API nomi diversi da quelli dei metodi REST standard.
Utilizza percorsi delle risorse prevedibili
Per le specifiche OpenAPI, Deployment Manager supporta due comportamenti per identificare un'interfaccia RESTful. Il primo è se tutti i metodi REST per una risorsa appartengono allo stesso percorso della risorsa:
/foo/{name}
post:
get:
delete:
put:
Se devi separare i metodi, utilizza lo stesso percorso della risorsa. Ad esempio, il seguente è valido perché fa riferimento alla stessa risorsa /foo:
/foo/
post:
/foo/{id}
get:
delete:
put:
Tuttavia, il seguente non è valido perché fa riferimento a due risorse diverse dal punto di vista di Deployment Manager:
/foo/
post:
/foo-bar/{id}:
get:
put:
delete:
In rari casi, potresti essere tentato di assegnare ai percorsi delle risorse nomi come i seguenti:
foo/create
post:
foo/delete
delete:
Questo non è valido dal punto di vista di Deployment Manager perché non può identificare l'interfaccia RESTful.
Utilizza una denominazione coerente nell'interfaccia
Mantieni invariati i nomi di input e percorso tra i metodi POST e PUT. Questo vale anche per i valori dei parametri. Ovvero, mantieni la stessa sintassi per i valori dei parametri tra i metodi.
Ad esempio, se hai un parametro denominato email per il corpo della richiesta di una
POST richiesta, non assegnare lo stesso parametro emailAddress per la PUT richiesta.
POST
{
“email”: “my-email”
}
PUT
{
“email”: “my-email@gmail.com”
}
Se devi aggiungere questo tipo di comportamento, indica a Deployment Manager come gestire questo comportamento impostando le opzioni API avanzate.
Inoltre, mantieni invariato il corpo della richiesta per i metodi POST e PUT.
Per i metodi GET e DELETE, è applicabile solo il percorso, poiché non esiste un corpo della richiesta per questi metodi.
Integrazione di un'API esistente
L'integrazione di un'API esistente può essere un processo molto vario a seconda dell'API. Pertanto, non esiste un insieme concreto di best practice che possa essere applicato in modo generico a tutte le API. Di seguito è riportato un elenco di consigli generali che potrebbero essere utili quando valuti i modi per integrare un'API esistente.
Utilizza un wrapper API per le API non RESTful.
Se un'API esistente non è un'API RESTful, puoi creare un wrapper API per esporre solo i metodi REST.
Se l'API è quasi RESTful, identificala e aggiornala.
Se la tua API è quasi RESTful e ha solo alcuni comportamenti non REST, puoi aggiornarla per risolvere questi comportamenti.
I valori generati dal server richiedono sempre una mappatura di input.
Se la tua API ha valori generati dal server richiesti dai metodi API, dovrai configurare le mappature di input per ottenere il valore generato dal server e mapparlo per ogni richiesta.
Passaggi successivi
- Scopri di più sui requisiti API per l'aggiunta di un'API a Deployment Manager
- Segui le istruzioni per aggiungere un'API.
- Scopri di più sulle opzioni API avanzate.
- Scopri di più sui tipi.
- Scopri di più sulla creazione di una configurazione.
- Crea un deployment utilizzando il nuovo provider di tipi