Criando Clientes de Serviço RESTful em Módulos do NetBeans

A partir do NetBeans IDE 6.9, o suporte nativo a REST está disponível em projetos de Módulos do NetBeans. Agora você pode gerar diretamente o código do cliente RESTful em um módulo do NetBeans. Você também pode digitar código do cliente Jersey RESTful em um Java ou uma aplicação.

Neste tutorial, você criará uma aplicação da plataforma NetBeans que consumirá o serviço Twitter What Are You Doing, exibindo uma lista das mensagens de status de seus amigos do Twitter. Primeiro, você cria a aplicação da plataforma. Seleciona as bibliotecas necessárias na aplicação. Em seguida, cria um módulo NetBeans. Finalmente, você adiciona um cliente RESTful e alguns elementos básicos de exibição ao módulo. O cliente utiliza autorização OAuth.

Conteúdo

O conteúdo dessa página aplica-se ao NetBeans IDE 6.9 a 7.1

Para seguir este tutorial, são necessários os recursos e o software a seguir.

Software ou Recurso Versão Necessária
NetBeans IDE Pacote de download do Java EE
Java Development Kit (JDK) versão 6 ou versão 7

Criando a Aplicação da Plataforma

Você pode adicionar bibliotecas do NetBeans IDE a uma Aplicação da Plataforma NetBeans. Nesta seção, você criará a aplicação da plataforma e adicionará as bibliotecas necessárias.

 

Para criar o conjunto de módulos:

  1. Clique em Novo Projeto (Ctrl-Shift-N no Linux e no Windows, ⌘-Shift-N no MacOS). O Assistente Novo Projeto será Aberto.
  2. Selecione a categoria Módulos do NetBeans. Em seguida, selecione o projeto Aplicações da Plataforma NetBeans. Clique em Próximo.
  3. Nomeie o projeto RestfulClientPlatformApp. Selecione uma localização para o projeto. Aceite as outras definições default e clique em Finalizar. O projeto RestfulClientPlatformApp será exibido na janela Projetos.
  4. Na janela Projetos, clique com o botão direito do mouse no nó do projeto RestfulClientPlatformApp e selecione Propriedades. A caixa de diálogo Propriedades será aberta.
  5. Na caixa de diálogo Propriedades, selecione a categoria Bibliotecas. Note que somente as bibliotecas da Plataforma foram incluídas.
  6. Expanda o nó para as bibliotecas do Enterprise. Marque a caixa Incluído para as Bibliotecas de Web service RESTful.
    Propriedades do conjunto que mostram Bibliotecas RESTful WS selecionadas para inclusão
  7. O botão Resolver está realçado em vermelho, pois as Bibliotecas do Web Service RESTful dependem de outras bibliotecas que não estão incluídas no conjunto. Clique no botão Resolver para incluir essas bibliotecas.
  8. Clique em OK. A aplicação da plataforma está pronta para que você crie o módulo do cliente.

Criando o Módulo Cliente

Em apenas algumas etapas, você criará um módulo que servirá como um cliente para o serviço Twitter What Are You Doing. Os serviços de Twitter são registrados como "predefinição" no gerenciador de Web services do NetBeans IDE. Você pode incluir adicionais

Para criar a funcionalidade do módulo e do cliente:

  1. Na janela Projetos, clique com o botão direito do mouse no subnó Módulos do RestfulClientPlatformApp e selecione Adicionar Novo... O assistente Novo Projeto de Módulo será aberto.
  2. Nomeie o módulo TwitterClientModule. Aceite as definições default nos outros campos e clique em Próximo. O painel Configuração Básica do Módulo será aberto.
  3. Dê um nome arbitrário à base do nome do código, como org.my.twitter.friends. Aceite as definições default nos outros campos e clique em Finalizar. O TwitterClientModule agora aparecerá na janela Projetos, no nó Módulos da aplicação da plataforma.
  4. Clique com o botão direito do mouse no nó TwitterClientModule e selecione Abrir Projeto. Um nó TwitterClientModule agora aparece no nível raiz da janela Projetos.
    Janela Projetos que mostra o nó TwitterClientModule
  5. Selecione o novo nó TwitterClientModule no nível raiz. Acione o assistente Novo Arquivo (Ctrl-N/⌘-N, ou ícone Novo Arquivo ou menu de contexto do nó).
  6. No assistente Novo Arquivo, selecione a categoria Web Services e o tipo de arquivo Cliente RESTful Java. Clique em Próximo. O painel do cliente RESTful Java será aberto.
  7. Nomeie a classe TwitterClient e dê a ela um nome de pacote arbitrário ou selecione a base do nome do código que foi criada anteriormente.
    Assistente Novo Cliente RESTful que mostra o nome da classe e do pacote
  8. Em Selecionar o recurso REST, selecione IDE Registrado. Clique em Procurar e procure por Twitter > Twitter OAuth > [statuses] > [friends_timeline.{format}]. Selecione esse recurso e clique em OK.
    O recurso rest friends_timeline selecionado na caixa de diálogo Recursos REST Disponíveis

    Observação: Você pode registrar Web services adicionais no IDE. Na janela Serviços, clique com o botão direito do mouse no nó Web Services e selecione Adicionar Web Service. Você pode adicionar um arquivo local ou um URL RESTful.
    Opção Adicionar Web Service para gerenciador de Web Services, janela Services

  9. O OAuth está selecionado automaticamente como o tipo de autenticação. Aceite todos os defaults e clique em Finalizar.
    Assistente novo Cliente RESTful concluído
  10. Uma caixa de diálogo de advertência será aberta. A caixa de diálogo perguntará se você deseja gerar artefatos java a partir das referências do esquema XML no arquivo WADL. Clique em Sim.
  11. Pode ser exibida outra advertência pedindo que você adicione os módulos ao classpath. Clique em OK.
    Caixa de diálogo Advertência sobre dependências que faltam
  12. Se for necessário adicionar módulos ao classpath, clique com o botão direito do mouse no nó TwitterClientModule e abra Propriedades do Projeto. Vá à seção Bibliotecas e adicione os módulos utilizando o botão Adicionar Dependência. Este botão abre uma lista de dependências do módulo para que seja explorada.
    Janela de propriedades do Módulo Cliente do Twitter, seção Bibliotecas

A classe TwitterClient será gerada e aberta no editor. A classe TwitterClient é complexa e contém os seguintes campos, métodos e classes internas:

  • CONSUMER_KEY: string de Consumer Key
  • CONSUMER_SECRET: String de Consumer Secret
  • initOAuth(): método para inicialização do OAuth
  • getUserTimeline(): método que corresponde ao método HTTP: getUserTimeline (do recurso REST)
  • makeOAuthRequestUnique(): útil para várias chamadas de API em uma única sessão
  • login: usado para efetuar log-in na Aplicação Twitter (força a autenticação). Este método chama mais dois métodos gerados, getOAuthAccessToken e getOAuthRequestToken.

Em seguida, você obtém as chaves OAuth do Twitter e as adiciona ao TwitterClient.

Obtendo as Chaves OAuth do Twitter

Para que a aplicação Plataforma NetBeans possa acessar os dados do Twitter, é necessário obter as chaves Customer e CUSTOMER_SECRET, juntamente com uma string de verificação, proveniente do Twitter. O Twitter usa a autorização OAuth, que precisa dessas chaves. No entanto, o OAuth é configurado com a intenção de que seja chamado por uma aplicação Web em um servidor. Para obter as chaves de autorização, registre uma aplicação web "fictícia".

Para obter as chaves OAuth do Twitter:

  1. Abra o browser. Vá à página Twitter > Aplicações e clique em Registrar uma nova aplicação . É necessário efetuar log-in na conta do Twitter. Certifique-se de ter efetuado log-in na conta correta, caso você tenha várias contas.
  2. Digite NB Platform Friends Application no campo de texto Nome da Aplicação.
  3. Digite uma descrição no campo Descrição. É necessário digitar uma descrição. Você pode digitar, por exemplo, "Aplicação Plataforma NetBeans chamando a operação friends_timeline".
  4. Digite um URL arbitrário no campo Website da Aplicação.
  5. Na opção Tipo de Aplicação, selecione o botão de opção Cliente.
  6. Na opção Tipo de Acesso Default, selecione o botão de opção Leitura e Gravação.
  7. Deixe as outras opções como default e clique em Salvar. A página do browser será aberta com os detalhes da aplicação que você registrou. Os detalhes importantes são consumer key e consumer secret.
  8. Copie a Consumer key do browser. No IDE, localize a linha onde a CONSUMER_KEY está definida. Cole o valor do consumer key entre as aspas.
    TwitterClient que mostra a localização de CONSUMER_KEY e CONSUMER_SECRET
  9. Copie e cole a chave consumer secret do browser e cole-a no TwitterClient. Salve as alterações.

Criando a Janela

Para concluir o projeto, adicione uma janela. Preencha a janela com componentes da IU e adicione ações de forma que, ao clicar em um botão, por exemplo, será exibida uma lista de status de amigos.

Para criar a janela:

  1. Na janela Projetos, clique com o botão direito do mouse no nó do módulo e selecione Novo > Janela. O assistente Nova Janela será aberto com o painel Definições Básicas.
  2. No painel Definições Básicas, selecione a posição da janela do editor, selecione Abrir ao Iniciar a Aplicação e clique em Próximo. O painel Nome, Ícone e Localização será aberto.
  3. No campo Prefixo do Nome da Classe, digite twitterFriendsStatus. Selecione o pacote org.my.twitter.friends. Clique em Finalizar.
    Painel Nome, Ícone e Localização do assistente Nova Janela, que mostra o prefixo do nome da classe e o nome do pacote
  4. O arquivo twitterFriendsStatusTopComponent será aberto na view de Design. Uma paleta de componentes Swing da IU será aberta à direita.
    View de design da nova janela e Paleta de componentes swing sem nenhum componente adicionado ainda
  5. Arraste os seguintes elementos da GUI para a área de desenho:
    Componente Texto de exibição Definições
    Botão Obter Status dos Amigos

    Alterar o nome da variável para getStatusesButton.

    Desfazer seleção da propriedade "ativado"

    Desfazer seleção da propriedade

    Botão Log-in Alterar o nome da variável para loginButton
    Painel de rolagem --  
    Área de texto -- Arrastar para o painel de rolagem

    Redimensione a área de texto/painel de rolagem e alinhe os botões conforme desejado.
    View de desenho da nova janela que mostra a janela concluída

  6. Clique duas vezes no botão Log-in. O IDE gerará um método de ação para o botão e o editor alternará para a exibição Código-fonte com o método de ação focado.
  7. Digite ou copie o seguinte código no corpo do método de ação do botão de log-in. Este código aciona o método de log-in da aplicação no Twitter, ativa o botão getStatuses e desativa o botão de log-in. É preciso efetuar log-in na aplicação apenas uma vez. Observe que TwitterClient não precisa ser instanciado para chamar o método de log-in.
    private void loginButtonActionPerformed(java.awt.event.ActionEvent evt) {                                   
       TwitterClient.login();
       getStatusesButton.setEnabled(true);
       loginButton.setEnabled(false);
    } 
  8. Clique duas vezes no botão getStatuses. O IDE gerará um método de ação para o botão e o editor alternará para a view Código-Fonte com o método de ação focado.
  9. Cole ou digite o seguinte código de tratamento no corpo do método de ação do botão getStatuses. Esse código instancia o TwitterClient e inicializa o OAuth, usando os tokens que o método login criou. O código chama, então, o getFriendsTimeline, obtém uma lista de status, adiciona uma linha com o nome de usuário e o texto de cada status a uma string e passa a string para a área de texto.
    private void getStatusesButtonActionPerformed(java.awt.event.ActionEvent evt) {                                         
    TwitterClient client = new TwitterClient("xml");
    client.initOAuth();
    Statuses response = client.getFriendsTimeline(Statuses.class, null, null, null, "10");
    response.getStatus().size();
    String text = "";
    for (StatusType st : response.getStatus()) {
    text += st.getUser().getName() + ": " + st.getText() + "\n";
    }
    jTextArea1.setText(text);
    }
  10. O código tem alguns ícones de advertência para classes que não são encontradas. Pressione Ctrl-Shift-I (⌘-Shift-I no MacOS). A caixa de diálogo Corrigir Todas as Importações será aberta. Selecione as classes twitter.twitteroauth.twitterresponse . Clique em OK.
    Caixa de diálogo Corrigir Todas as Importações que mostra as classes corretas a serem importadas

A aplicação agora está completa. Execute RestfulClientPlatformApp e uma plataforma NetBeans aparecerá com sua janela criada na seção Saída. Clique em Log-in e uma caixa de diálogo será exibida com um link no qual você deverá clicar para autorizar a aplicação a acessar os dados.

Caixa de diálogo para autorizar o OAuth a passar dados para a aplicação

Clique no link e a página do browser será aberta com o Twitter perguntando se você quer permitir que sua aplicação acesse os dados do Twitter. Clique em Permitir e a página será atualizada exibindo um PIN. Copie o PIN e cole-o no campo da string de verificação da caixa de diálogo de autenticação. Clique em OK.

O botão Log-In agora está desativado, e o botão Obter Status dos Amigos está ativado. Clique em Obter Status dos Amigos, e será exibida uma lista de mensagens dos últimos status dos seus amigos do Twitter.

Executando aplicação que mostra mensagens de status

Mais Exercícios

A seguir, encontam-se mais algumas ideias para você explorar:

  • Adicionar outra janela ao módulo, utilizando outros métodos na API friends_timeline.
  • Adicione outro módulo ao projeto, utilizando um recurso diferente do Twitter.
  • Explore a Amostra de Módulo do Facebook em Novo Projeto > Amostras > Módulos NetBeans > Amostra de Módulo do Facebook

Consulte Também

Para obter mais informações sobre o uso do NetBeans IDE para desenvolver aplicações Java EE, consulte os seguintes recursos:

Para enviar comentários e sugestões, obter suporte e se manter informado sobre os mais recentes desenvolvimentos das funcionalidades de desenvolvimento Java EE do NetBeans IDE, inscreva-se na lista de notícias .

Para enviar comentários e sugestões, obter suporte a manter-se informado sobre tópicos conectados ao desenvolvimento de aplicações RCP na plataforma NetBeans, participe da lista de correspondência .

get support for the NetBeans

Support


By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2018, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo