Close Menu
Código Simples .NETCódigo Simples .NET
    Facebook X (Twitter) Instagram
    Trending
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    • Como a Uber calcula o tempo estimado de chegada
    • 30 APIs Gratuitas para desenvolvedores
    • Por que escalar escrita é tão mais difícil do que escalar leitura?
    • MongoDB Analyzer para .NET: Visualize e otimize suas consultas de forma simples
    • Cardinalidade: O Conceito que Transforma o Desempenho de Bancos de Dados SQL e NoSQL
    Facebook X (Twitter) Instagram
    Código Simples .NETCódigo Simples .NET
    Código Simples .NETCódigo Simples .NET
    Home»Banco de dados»Sql»MySQL fornece API Rest para acesso direto

    MySQL fornece API Rest para acesso direto

    Jhonathan SoaresBy Jhonathan Soares16 de novembro de 20142 Mins Read Sql
    Share
    Facebook Twitter LinkedIn WhatsApp Copy Link

    Um protótipo do MySQL 5.7 está sendo lançado com um componente opcional chamado o MySQL HTTP Plugin. Esse plugin permite acesso direto ao MySQL via REST sobre HTTP, eliminando a necessidade de um servidor intermediário ou drivers específicos de banco de dados.

    SQL sobre HTTP

    Na verdade, existem três interfaces disponíveis através deste plugin. A primeira citada na documentação é o endpoint “SQL”. O endpoint aceita e executa declarações SQL passadas através de uma URL. Por exemplo

    SQL: SELECT * FROM simple ORDER BY id

    URL: http://labs.mysql.com/”>http://127.0.0.1:8080/sql//SELECT+%2A+FROM+simple+ORDER+BY+id

    Os resultados voltam na forma de um documento JSON. Na seção “meta” é possível recuperar a informação sobre cada coluna no conjunto de resultados. Então temos uma seção de “data”, que é um array de linhas. Cada linha está na forma de um array de campos. Para reduzir os custos de largura de banda e de análise, estes campos não são nomeados. Ao invés disso, é necessário deduzir o nome dos campos a partir da posição no array.

    CRUD sobre HTTP

    O endpoint “CRUD” é o que normalmente pensamos como REST. Para todas as operações, é necessário fornecer a chave primária na URL da requisição. Isso significa que não é possível confiar no AUTO_INCREMENT usado em chaves primárias quando inserindo novas linhas.

    Com uma requisição PUT, que é usada para insert/update, é necessário fornecer um objeto JSON tradicional como o corpo da mensagem. Da mesma maneira ao usar o GET para ler um registro, recuperamos um objeto JSON tradicional sem nenhum metadado. Na teoria isso reduz o tamanho da mensagem, mas na prática provavelmente caberia em um único pacote TCP de qualquer maneira.

    O padrão de URL é:

    protocol://host:port/crud/database/table/primaryKey

    Documento JSON sobre HTTP

    As interfaces SQL e CRUD continuam baseadas em tabelas relacionais. Ou seja, existe um esquema bem definido de linhas e colunas. Se for preciso armazenamento não estruturado, a interface “JSON Document” é ideal.

    Essa interface é baseada em simples tabelas chave-valor. Os dados JSON são salvos em uma coluna BLOB, eliminando a necessidade do mapeamento entre os tipos de dados JSON e MySQL. As tabelas, que são gerenciadas pelo MySQL, podem ser criadas enviando uma mensagem PUT para uma URL usando o padrão:

    protocol://host:port/doc/database/table

    Tabelas de documentos sempre usam um VARCHAR (36) para a coluna de chave. Isto permite o padrão de operações CRUD:

    protocol://host:port/doc/database/table/key

    Fonte: InfoQ

    Share. Facebook Twitter LinkedIn Telegram WhatsApp Copy Link
    Jhonathan Soares
    • Website
    • Facebook
    • X (Twitter)
    • LinkedIn

    Criador do blog Código Simples e com mais 15 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist.

    Posts Relacionados

    Cardinalidade: O Conceito que Transforma o Desempenho de Bancos de Dados SQL e NoSQL

    NoSql Sql 14 de janeiro de 20257 Mins Read

    Entendendo os diferentes tipos de locks em bancos de dados e como evitá-los

    NoSql Sql 2 de julho de 20248 Mins Read

    Happy Hour com Dados #14 – Modelagem de Dados

    Dicas NoSql Sql 22 de setembro de 20201 Min Read
    Newsletter

    Digite seu endereço de e-mail para receber notificações de novas publicações por e-mail.

    Junte-se a 25mil outros assinantes
    Posts recentes
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    • Como a Uber calcula o tempo estimado de chegada
    • 30 APIs Gratuitas para desenvolvedores
    Categorias
    • Arquitetura (14)
      • Testes (2)
    • Asp.net (120)
      • C# (89)
      • Mvc (13)
    • Banco de dados (90)
      • NoSql (58)
      • Sql (38)
    • Boas práticas (29)
      • Gestão & Produtividade (1)
      • Metodologias Ágeis (6)
    • Cursos (52)
    • Dicas (105)
    • Front-End (92)
    • IA (1)
    • Linux (6)
    • NodeJS (4)
    • Post do Leitor (9)
    • Python (5)
    • Seo (12)
    • Tecnologia (30)
      • ITIL (1)
      • Padrões de Projeto (4)
    • Testes (2)

    VEJA TAMBÉM

    Cursos
    12 de fevereiro de 20166 Mins Read

    1000 livros gratuitos sobre programação!

    Olha que dica bacana! A pagina só com livros sobre programação é mantida no GitHub…

    30 APIs Gratuitas para desenvolvedores

    Facebook X (Twitter) Instagram LinkedIn

    Type above and press Enter to search. Press Esc to cancel.

    Vá para versão mobile