Oi,
nossa api exige que o cliente adicione uma apiKey, assinatura e carimbo de data / hora como uma string de consulta para cada solicitação
então eu tenho que repetir esta parte da consulta em cada definição de recurso como esta
## Client [/clients/{id}?apiKey={apiKey}&signature={signature}&timestamp={timestamp}]
e então parâmetros
+ Parameters
+ apiKey (required, string, `2961654ce6c3d01c79edc98c8d930d4cc663cda4`)
+ signature (required, string, `213213jjflkjdsfl343k4jjfdsdsf`)
+ timestamp (required, integer, `1443620910`)
uma vez que temos endpoints operando em coleções e, em seguida, em um único recurso, eu tenho que copiar e colar isso para cada grupo pelo menos duas vezes e, em seguida, modificar os modelos de url que levam alguns parâmetros de consulta adicionais
quando você tem muitos grupos de recursos, isso se torna muito tedioso e, se você adicionar outro parâmetro de consulta comum obrigatório, terá que atualizar tudo
Eu sugiro adicionar alguma seção commonParams no topo do documento de blueprint e esses parâmetros seriam então aplicados a todas as solicitações
Olá @bazo , embora isso não seja compatível no momento. Temos uma proposta para isso em https://github.com/apiaryio/api-blueprint-rfcs/pull/3 (https://github.com/apiaryio/api-blueprint-rfcs/blob/zdne/mson- parameters / draft / mson-parameters-headers.md # parameters). É um recurso planejado.
Onde você pode fazer referência e herdar de outros parâmetros.
# Resource [/resource/{client}{?signature,apiKey,timestamp}]
+ Parameters (Authentication)
+ client: foo
# Data Structures
## Authentication (Parameters)
+ apiKey: 2961654ce6c3d01c79edc98c8d930d4cc663cda4
+ signature: 213213jjflkjdsfl343k4jjfdsdsf
+ timestamp: 1443620910 (integer)
Acho que ele tem uma boa pergunta aqui:
então eu tenho que repetir esta parte da consulta em cada definição de recurso como esta
@zdne O que você acha? Podemos fazer algo sobre a repetição do modelo de uri?
Estou realmente tentado a reabrir este problema. Acho que esse problema é mais sobre como definir parâmetros comuns para mais de um recurso e menos sobre como usar a sintaxe de estilo MSON.
@zdne Adoraria se você pudesse dar uma opinião sobre isso.
Ser capaz de defini-los em algum tipo de esquema de autenticação personalizado seria o ideal. Semelhante a https://github.com/apiaryio/api-blueprint-rfcs/blob/kylef/authentication-oauth2/draft/authentication-oauth2.md.
Tudo bem se eles forem parâmetros relacionados à autenticação. Estou falando de outros parâmetros como page
, per_page
etc. Basicamente, qualquer coisa que possa ser usada para todos os recursos.
Usaria isso também.
@kylef o link que você
alguma atualização disso?
Ter Parameters
agindo como Attributes
em sua capacidade de fazer herança simples de um data-structures.md
centralizado tornaria nossa base de código de projetos muito mais sustentável / SECA.
Comentários muito úteis
alguma atualização disso?
Ter
Parameters
agindo comoAttributes
em sua capacidade de fazer herança simples de umdata-structures.md
centralizado tornaria nossa base de código de projetos muito mais sustentável / SECA.