Eu estava pesquisando um pouco sobre o assunto e fiz um pequeno exemplo nesse repositório aqui: https://github.com/Matheus1714/sample-java-api

Eu não usei nenhum pacote externo ou framework.

A parte difícil disso é que o projeto fica bagunçado bem rápido se não manter uma estrutura boa.

Fique tendo que fazer muitas manipulações com String no processo.

Talvez eu melhore um pouco a estrutura do repositório em algumas camadas a mais para ver como fica. Eu já tinha feito isso com Javascript, mas nunca com Java.

aaah obg pela refrencia, vou dar uma olhada no seu repositório, creio que possa ficar meio bagunçado mesmo, mas se separar a aplicação em camadas e usar os princípios da POO deve ajudar...

vlw