PplWare Mobile

Aprenda a criar uma RESTful API com Node.js em 5 minutos

                                    
                                

Este artigo tem mais de um ano


Autor: Pedro Pinto


  1. Jose Cordeiro says:

    Não é mais correto assim?

    res.status(200).end(users);

    • Carlos says:

      Não. o método send() serve para enviar um objecto e terminar o pedido. Ao mesmo tempo, no cabeçalho da resposta coloca o status 200, já que se está a fazer send de qualquer coisa, esta coisa existe.

  2. Carlos says:

    É de louvar a apresentação ao node e a APIs.

    No entanto, penso que esta apresentação peca por apresentar uma solução e não uma construção lógica em como lá chegar… (o que é e para que serve o NPM? EXPRESS???? quem nunca teve contacto com estas tecnologias ficará um pouco perdido, digo eu)

    Apenas mais uma achega: as APIs REST acentam em HTTP e nos seus métodos (GET, PUT, DELETE, POST), mas a semântica do HTTP deve ser cumprida na mesma. De uma forma rápida, o HTTP permite acções sobre recursos, e não a chamada de funções, como apresentaram

    app.get(‘/api/listaUsers’, function(req, res, next) {
    res.send(users);
    })

    Deveria – do meu ponto de vista – ser mais assim:
    app.get(‘/api/user’, getUsers);
    app.delete(‘/api/user/&id’, deleteUser);
    app.put(‘/api/user/&id’, updateUser);
    app.post(‘/api/user’, addUser);

    São apenas críticas construtivas, de modo a que não se criem maus hábitos. Até porque uma API REST não é um webservice. Um é orientado ao recurso enquanto que o outro à função.

    • Pedro Pinto says:

      Obrigado Carlos pelo bom feedback.
      Quanto ao NPM já tinha falado em outros artigos. Do Express falei neste. Talvez um artigo dedicado para cada um dos temas nos próximos tempos.
      Quanto à programação em si, tudo vai da forma com que se aprende e se usa no dia a dia. Mas obrigado pelas sugestões.

    • MiguelPynto says:

      Concordo. Sendo REST uma semântica de como usar os métodos HTTP, ao adicionar um user com PUT a listar detalhes com POST, deixa de ser REST.
      E um reparo, no principio na lista de métodos, o POST e PUT estão trocados (https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html).
      Visto que ando a aprender sobre isto em Java (e terei teste depois de amanhã!), irei certamente usar este artigo no futuro quando começar a mexer com Node, portanto obrigado 🙂

  3. JL says:

    Baseado no Express, o Sails (http://sailsjs.com/) é direccionado a serviços RESTful. É uma boa opção. Outra opção é o servidor Hapi.

  4. Phil says:

    Mas como se adiciona users ou apaga users com este exemplo ? Obrigado.

  5. Gonçalo says:

    Pequena gralha no texto:

    “por exemplo JSON, XML, JSON, sendo que este último é o mais usado.”

    JSON duas vezes a segunda está correcta ou referem-se mesmo ao XML?

  6. Marco Aurélio Barbiero says:

    Caro Pedro Pinto… Saudações do Brasil.
    Seu artigo me poupou algumas horas de pesquisa.
    Obrigado.

  7. Marcelo Caetano says:

    Olá Pedro, bom artigo, obrigado!

    E o restante da aplicação, vai ter continuação?

Deixe um comentário

O seu endereço de email não será publicado.

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste site ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. A administração deste site reserva-se, desde já, no direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação do seu autor (nome completo e endereço válido de email) também poderão ser excluídos.