GithubHelp home page GithubHelp logo

thiagonelsi / dicio-api Goto Github PK

View Code? Open in Web Editor NEW
204.0 12.0 42.0 622 KB

REST API de dicionário em português do Brasil / REST API to search for portuguese (Brazil) word meanings

Home Page: https://dicio-api-ten.vercel.app/v2/palavra

License: MIT License

Procfile 0.08% TypeScript 99.66% JavaScript 0.26%
dicionario api rest rest-api dictionary portuguese portugues pt-br significado brasil

dicio-api's Introduction

API DOCS 📚🔎

Maintainability Rating Reliability Rating Security Rating Code Smells Duplicated Lines (%)

O Dicio API permite buscas por diversas informações a respeito de milhares de palavras da língua portuguesa, todos os dados são extraídos do Dicio.

A API está atualmente na versão 2, em que é possível acessar os seguintes recursos:

  • SIGNIFICADOS
  • SINÔNIMOS
  • SEPARAÇÃO SILÁBICA
  • EXEMPLOS DE FRASES

Endpoints e Responses

Alerta: Rotas em português estão apenas disponíveis na versão 2.

Para utilizar a versão 2, lembre-se de adicionar o prefixo /v2/ para todos os endpoints.

Ex.:

  • /v2/[palavra]
  • /v2/sinonimos/[palavra]

Significados

Significados podem ser acessados através do método GET em qualquer uma das seguintes rotas:

  • /[palavra]
  • /significados/[palavra]
  • /meanings/[palavra]

Response:

[
  {
    partOfSpeech: string,
    meanings: string[],
    etymology: string,
  }
]

Sinônimos:

Sinônimos podem ser acessados através do método GET em qualquer uma das seguintes rotas:

  • /sinonimos/[palavra]
  • /synonyms/[palavra]

Response:

string[]

Separação silábica

A separação silábica pode ser acessada através do método GET em qualquer uma das seguintes rotas:

  • /silabas/[palavra]
  • /syllables/[palavra]

Response:

string[]

Frases

Frases com a palavra podem ser acessada através do método GET em qualquer uma das seguintes rotas:

  • /frases/[palavra]
  • /sentences/[palavra]

Response:

[
  {
    sentence: string,
    author: string
  },
  {
    sentence: string,
    author: string
  }
]

Exemplos de uso:

Usando a palavra livro 📗 como exemplo, vamos começar buscando seu significado:

Significados

https://dicio-api-ten.vercel.app/v2/livro

A resposta é um array de objetos. Cada objeto possui partOfSpeech (classe gramatical da palavra), meanings (array de strings com os diversos sentidos que a palavra pode assumir) e etymology (etimologia da palavra).

[
  {
    "partOfSpeech": "substantivo masculino",
    "meanings": [
      "Conjunto de folhas impressas e reunidas em volume encadernado ou brochado.",
      "Obra em prosa ou verso, de qualquer extensão, disponibilizada em qualquer meio ou suporte: livro bem escrito; livro eletrônico.",
      "Divisão menor contida numa obra maior: livro dos salmos.",
      "[Literatura] Divisão de uma obra, especialmente de uma epopeia.",
      "Caderno de registro das operações comerciais de; livro-caixa.",
      "[Figurado] Conjunto de saberes, usado como instrução, ou como fonte de ensino: livro de sabedoria."
    ],
    "etymology": "Etimologia (origem da palavra livro). Do latim liber.bri."
  }
]

Palavras com múltiplas classes gramaticais

Quando uma palavra possui mais de uma classe gramatical e significados diferentes, as classes gramaticais e seus respectivos significados são divididos em outro objeto

Exemplo com a palavra a

[
  {
    "partOfSpeech": "artigo definido",
    "meanings": [
      "Artigo definido feminino de o: a bola, a casa."
    ],
    "etymology": ""
  },
  {
    "partOfSpeech": "preposição",
    "meanings": [
      "Exprime relação de movimento: ir a São Paulo.",
      "Indica tempo: partir a 20 de janeiro.",
      "Expressa um fim, objetivo, propósito: viajar a negócios.",
      "Demonstra um meio: atravessar a ponte a pé.",
      "Indica um instrumento: quebrar pedras a picareta.",
      "Estabelece uma relação de modo: andar a galope.",
      "Introduz um preço, valor: vender livros a quinze reais.",
      "[Gramática] Introduz o objeto indireto: beijar a mão a uma dama."
    ],
    "etymology": ""
  },
  {
    "partOfSpeech": "substantivo masculino",
    "meanings": [
      "Primeira letra do alfabeto e primeira das vogais.",
      "Toda representação da forma, do som ou do tipo impresso dessa letra: palavra escrita com o a aberto.",
      "[Música] Forma de representação do lá."
    ],
    "etymology": ""
  },
  ...
]

Sinônimos:

https://dicio-api-ten.vercel.app/v2/sinonimos/livro

[
  "alfarrábio",
  "calhamaço",
  "cartapácio"
]

Separação silábica:

https://dicio-api-ten.vercel.app/v2/silabas/livro

[
  "li",
  "vro"
]

Exemplos de frases:

https://dicio-api-ten.vercel.app/v2/frases/livro

[
  {
    "sentence": "No fim tu hás de ver que as coisas mais leves são as únicas que o vento não conseguiu levar: um estribilho antigo um carinho no momento preciso o folhear de um livro de poemas o cheiro que tinha um dia o próprio vento...",
    "author": "- Mário Quintana"
  },
  {
    "sentence": "O livro é um mestre que fala mas que não responde.",
    "author": "- Platão"
  },
  {
    "sentence": "Em 9 de setembro passado, o Tribunal Civil de Lisboa proibiu, em caráter cautelar, a venda do livro.",
    "author": "Folha de S.Paulo, 11/01/2010"
  },
  {
    "sentence": "O sucesso on-line transformou os posts em livro.",
    "author": "Folha de S.Paulo, 27/06/2009"
  },
  {
    "sentence": "Veja abaixo trecho do livro com descrição dos melhores locais para visitar na \"cidade maravilhosa\".",
    "author": "Folha de S.Paulo, 02/10/2009"
  }
]

dicio-api's People

Contributors

agronault avatar dependabot[bot] avatar fernandoguiao avatar thiagonelsi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dicio-api's Issues

Recuperar múltiplos sentidos de sinônimos

É possível recuperar todas as listas de sinônimos ao invés de só uma (imagino que seja a primeira)?
Além disso, eu gostaria de saber qual é a fonte dos dados, pois comparando com o site https://www.sinonimos.com.br/, os resultados são diferentes. A API utiliza dados crawleados antigos?

Exemplo:

No site, a palavra cidade apresenta 2 sentidos, que são os seguintes:

1. Povoação urbana: [urbe, urbanização, município, burgo, povoação, povoamento, localidade]
2. Centro comercial, financeiro, administrativo,...: [centro, sede, metrópole, capital, cidade-estado, pólis]

Enquanto o resultado da API é o seguinte:

["capital","município","povoação","centro","urbe"]

Gostaria de saber se é possível obter uma saída como a seguinte:

[
    [urbe, urbanização, município, burgo, povoação, povoamento, localidade],
    [centro, sede, metrópole, capital, cidade-estado, pólis]
]

Multiplas palavras

Eh possivel enviar para sinonimos uma lista de palavras e pegar os sinonimos da mesma? Ou so uma palavra por vez?

Se eh possivel, como eh feito?

Exemplo, buscar sinomimos de Amor+Odio+Amigos

E retornar algo como, [casal, inimigos, sentimentos]

Rota /sentences está retornando caracteres `\n` no meio da string.

Exemplo com a palavra livro (/sentences/livro):

[
  {
    "sentence": "No fim tu hás de ver que as coisas mais leves são as únicas\nque o vento não conseguiu levar:\num estribilho antigo\num carinho no momento preciso\no folhear de um livro de poemas\no cheiro que tinha um dia o próprio vento...",
    "author": "- Mário Quintana"
  }
]

Criar testes

Criar testes para a rota principal, utilizando várias palavras diferentes para os testes.

Palavras com diferentes acentuações não podem ser retornadas ao usar allMeanings

Palavras, como vovô, que possuem duas ou mais opções de acentuações não podem ser achadas. No caso de vovô, ao usar allMeanings/vovo, apenas vovó é retornado. Não sei se é culpa do próprio sistema do Dicio ou se é um problema especificamente desta palavra já que o mesmo problema não acontece com avô, avó e avo.

Palavras que são apenas acentuadas não podem ser encontradas ao usar versão acentuada para obter dados

Na v1, ao usar o allMeanings, resolvia um problema das palavras apenas acentuadas, como feijão. O Dicio não disponibiliza a versão feijão, apenas feijao, veja:

Não sei se será possível corrigir isto, já que a culpa é do Dicio, mas como eu disse, com o allMeanings era corrigido

Ideia de dados na API

Acredito que faltou expor o plural da palavra e o gênero oposto, e isso ia ser muito importante para muitas aplicações.

Consulta de api

Bom dia sou desenvolvedor do projeto http://pat.educacao.ba.gov.br, e estou querendo implementar uma sugestão de palavra quando não existir tags cadastrados em nosso banco, seu projeto que esta no heroku é permanente??

Chamadas sem partOfSpeech

Primeiramente, parabéns na API cara!

Eu encontrei algumas palavras que não estão trazendo nenhum resultado para [partOfSpeech] quando invocadas, sabes dizer se isso é esperado em tempos verbais?

Segue as chamadas abaixo:

https://significado.herokuapp.com/v2/viu
https://significado.herokuapp.com/v2/vou

Na documentação eu não encontrei uma forma de conseguir identificar os tempos verbais deles, existe alguma forma hoje de se realizar isso?

Obrigado e continue o bom trabalho!

Erro de CORS

Estou usando essa API em um projeto disciplinar, mas recentemente tenho recebido um erro de CORS ao fazer uma requisição.
Tenho a aplicação local, e no ar atrave´s do Github Pages e recebo o erro em ambas. Não fiz nenhuma alteração no código, simplesmente comecei a receber esse no console:
<Access to fetch at 'https://dicio-api-ten.vercel.app/v2/livro' from origin 'http://127.0.0.1:5500' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.>

Erro 503

Todos os requests retornam um erro 503, tanto no dicio quanto na api. De acordo com alguns testes que fiz, é por conta de algum tipo de atualização no dicio.

Agora todos os endereços de pesquisa precisam de uma / ao final, caso contrário, o site retorna um erro 503

Sem a barra:
sem a barra

Com a barra:
com a barra

Adicionar uma / ao final da url deve funcionar :)

API fora do ar

A api tá fora do ar, fica dando status 404:

https://dicio-api-ten.vercel.app/v2/livro

Res:

The deployment could not be found on Vercel.

DEPLOYMENT_NOT_FOUND

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.