You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Seria muito interessante adicionar um recurso via RTTI para facilitar a recepção dos dados das rotas, algo +- assim:
[SwagGET('{id}', 'Find User')]
[SwagParamPath('id', 'user id')]
[SwagResponse(200, TUser, 'User data')]
[SwagResponse(404)]
procedure FindUser(id:String);//aqui poderia aceitar qualquer tipo primitivo, além de objetos serializáveis
//Ou ainda:
function FindUser(id:String):TUser;//aqui o próprio gbswagger pode gerar o retorno via TJson.ObjectToJSON
[SwagPOST('Insert a new user')]
[SwagParamBody('UserData', TUser)]
[SwagResponse(201, TUser)]
[SwagResponse(400)]
procedure InsertUser(UserData:TUser);
O gbswagger ficaria uma mínima coisa mais lento para verificar se o método da rota aceita parâmetros,
Se aceitar um objeto anotado é só uma questão de criar o objeto via RTTI, popular ele via TJson.JsonToObject(self, json, AOptions) da unit REST.JsonReflect
Se ele pedir um tipo primitivo é muito mais simples.
A única regra é a mesma de outros frameworks, o nome do parâmetro deve ser o mesmo da anotação SwagParamBody e SwagParamPath
No momento não tenho necessidade deste recurso, mas se tivermos uma boa discussão sobre ele, se for útil e mais gente ter interesse posso ajudar a implementar
The text was updated successfully, but these errors were encountered:
Bom dia amigo... é um recurso interessante com alguns receios que tenho de fazer processamento de RTTI desnecessário, principalmente quando o método não tiver parâmetros.
Porém aceito sugestões de implementação.
Seria muito interessante adicionar um recurso via RTTI para facilitar a recepção dos dados das rotas, algo +- assim:
O gbswagger ficaria uma mínima coisa mais lento para verificar se o método da rota aceita parâmetros,
Se aceitar um objeto anotado é só uma questão de criar o objeto via RTTI, popular ele via
TJson.JsonToObject(self, json, AOptions)
da unitREST.JsonReflect
Se ele pedir um tipo primitivo é muito mais simples.
A única regra é a mesma de outros frameworks, o nome do parâmetro deve ser o mesmo da anotação SwagParamBody e SwagParamPath
No momento não tenho necessidade deste recurso, mas se tivermos uma boa discussão sobre ele, se for útil e mais gente ter interesse posso ajudar a implementar
The text was updated successfully, but these errors were encountered: