As propriedades type
e format
nos parâmetros e esquemas podem ser usadas
para determinar o tipo de dados da propriedade. A propriedade type
indica o tipo da propriedade quando é enviada em pedidos e respostas JSON (o JSON suporta um pequeno conjunto de tipos de dados. Consulte json.org para obter detalhes). A propriedade format
faculta informações adicionais sobre o tipo subjacente. As propriedades têm sempre uma propriedade type
, mas algumas também podem ter uma propriedade format
.
Por exemplo, não é possível representar um número inteiro de 64 bits em JSON (uma vez que o JavaScript e o JSON suportam números inteiros até 2^53). Por conseguinte, um número inteiro de 64 bits tem de ser representado como uma string em pedidos/respostas JSON. Assim, a propriedade type
é definida como "string", mas a propriedade format
é definida como "int64" para indicar que é um número inteiro de 64 bits.
A especificação do esquema JSON já define um conjunto de valores comuns para a propriedade format
. O serviço Google APIs Discovery suporta alguns
destes valores e também define outros. A lista completa de valores type
e format
suportados pelo serviço Google APIs Discovery está resumida abaixo.
Valor do tipo | Formatar valor | Significado |
---|---|---|
any |
|
A propriedade pode ter qualquer tipo. Definido pela especificação do esquema JSON. |
any |
google.protobuf.Value |
A propriedade tem a representação JSON do tipo de google.protobuf.Value. |
array |
|
Uma matriz de valores de JavaScript. A propriedade items indica o esquema para os valores da matriz. Definido pela especificação do esquema JSON.
|
array |
google.protobuf.ListValue |
A propriedade tem a representação JSON do tipo google.protobuf.ListValue. |
boolean |
|
Um valor booleano, "true" ou "false". Definido pela especificação do esquema JSON. |
integer |
int32 |
Um número inteiro com sinal de 32 bits. Tem um valor mínimo de -2 147 483 648 e um valor máximo de 2 147 483 647 (inclusive). |
integer |
uint32 |
Um número inteiro não assinado de 32 bits. Tem um valor mínimo de 0 e um valor máximo de 4 294 967 295 (inclusive). |
number |
double |
Um ponto flutuante IEEE 754 de 64 bits de precisão dupla. |
number |
float |
Um ponto flutuante IEEE 754 de 32 bits de precisão simples. |
object |
|
Um objeto JavaScript. Definido pela especificação do esquema JSON. |
object |
google.protobuf.Struct |
A propriedade tem a representação JSON do tipo google.protobuf.Struct. |
object |
google.protobuf.Any |
A propriedade tem a representação JSON do tipo google.protobuf.Any. |
string |
|
Uma string arbitrária. Definido pela especificação do esquema JSON. |
string |
byte |
Uma string de bytes com preenchimento e codificação em base64, codificada com um URL e um alfabeto seguro para nomes de ficheiros (por vezes, denominado "seguro para a Web" ou "base64url"). Definido pelo RFC4648. |
string |
date |
Uma data RFC3339 no formato AAAA-MM-DD. Definido na especificação do esquema JSON. |
string |
date-time |
Uma data/hora no formato RFC3339 em UTC. Este formato é aaaa-MM-ddTHH:mm:ss.SSSZ. A parte dos milissegundos (".SSS") é opcional. Definido na especificação do esquema JSON. |
string |
google-datetime |
Uma data/hora no formato RFC3339 em UTC. Este formato é aaaa-MM-ddTHH:mm:ss.SSSZ. A parte dos milissegundos (".SSS") é opcional. |
string |
google-duration |
Uma string termina com o sufixo "s" (que indica segundos) e é precedida pelo número de segundos, com os nanosegundos expressos como segundos fracionários. O ponto é sempre usado como o separador decimal e não uma vírgula. |
string |
google-fieldmask |
Uma string em que os nomes dos campos estão separados por uma vírgula. Os nomes dos campos são representados em convenções de nomenclatura de camel case em minúsculas. |
string |
int64 |
Um número inteiro assinado de 64 bits. Tem um valor mínimo de -9 223 372 036 854 775 808 e um valor máximo de 9 223 372 036 854 775 807 (inclusive). |
string |
uint64 |
Um número inteiro de 64 bits sem sinal. Tem um valor mínimo de 0 e um valor máximo de (2^64)-1 (inclusive). |