Retrofit is truly an amazing library. With little more than an interface declaration, you are able to make network calls and have the the requests/responses automatically (de)serialized into POJOs. You can even consume responses as an RxJava Observable type. Retrofit 2 in particular is incredibly modular; you can swap out different data converters and HTTP clients, for instance.
This is modern Java development at its best. I know as an Android developer I'm indebted to all the great work that Jake and the other engineers at Square have done in the open source space.