Durante toda minha carreira, me vi naturalmente trilhando o caminho de um desenvolvedor generalista. Não foi uma escolha deliberada, mas sim uma consequência das minhas experiências iniciais, onde fui desafiado a resolver questões técnicas das quais, muitas vezes, não possuía conhecimento prévio ou afinidade. Esta dinâmica me levou a um constante aprendizado e adaptação, diante da frequente rotatividade de tecnologias que permeiam o universo do desenvolvimento de software. O estudo contínuo de novas linguagens e frameworks, embora tenha enriquecido minha base de conhecimento, também dificultou o aprofundamento em áreas específicas. Ao longo dos anos atuando como desenvolvedor generalista, deparei-me com desafios ao buscar oportunidades de emprego. Muitas vagas exigiam um nível elevado de especialização em determinadas stacks tecnológicas, um requisito que não correspondia diretamente à minha trajetória multifacetada. Embora possuísse um conhecimento sólido em aspectos fundamentais do d...
Recentemente, me deparei com a necessidade de consumir um serviço REST que requeria o uso do verbo GET com um corpo na mensagem, indo totalmente contra o padrão. É amplamente reconhecido entre os desenvolvedores de aplicativos para a web que, para tais situações, o verbo mais apropriado seria o POST! Eu estava utilizando a biblioteca okhttp no projeto, que é bastante conhecida. Contudo, para cenários que demandavam o uso de GET com corpo, a biblioteca não permitia essa funcionalidade. Após alguma pesquisa, descobri a nova API de Cliente HTTP, introduzida a partir da versão 9 do Java. Dado que essa situação foi bastante incomum, decidi criar este artigo para compartilhar a solução encontrada. Aqui está o código fonte da classe que desenvolvi para atender a essa necessidade específica: package com.github.romarioteles.clientehttp; import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.util.Base64; import com...