Skip to content

API internal catch-all function #11

@ppKrauss

Description

@ppKrauss

Existem duas estratégias para implementar a resolução de parâmetros GET por regular expression:

  1. enviando a string inteira para uma "função catch-all" que faz o dispatch.
    Uma eventual vantagem é o tratamento centralizado de erros; a desvantagem é uma pequena perda de performance.
  2. gerando automaticamente o script NGINX com cada uma das resoluções.
    As vantagens seriam performance e gradualidade (permite automação mais tardia).

A estratégia 1 foi utilizada no primeiro rascunho do projeto. A estratégia 2 parecia ser a melhor, todavia não foi encontrada solução compacta no NGINX para resolver os 3 casos distintos (CSV/JSON/HTM). Tendo isso em vista, voltamos à estratégia inicial.


Problemas:

  1. PostgREST v7 está sem suporte para CSV de JSON array;
  2. funções que retornam tabelas precisariam ser submetidas ao select to_jsonb(t) from f($1) t e depois agregadas como array jsonb. Ainda assim não tem como retornar CSV nas condições atuais.
  3. Problemas clássicos de função retornando setof record, surgem com jsonb_populate_record e jsonb_to_record. Não tem como retornar "tipo record" para o CSV pois não existe tipo genérico.
  4. O NGINX também tem os seus problemas, apesar de menores.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions