In this chapter, you learned how HTTP Content Negotiation works and how you can write JAX-RS-based web services that take advantage of this feature. You saw how clients can provide a list of preferences for data format, language, and encoding. You also saw that JAX-RS has implicit and explicit ways for dealing with conneg. Finally, we discussed general architectural guidelines for modeling your data formats and defining your own media types. You can test-drive the code in this chapter by flipping to Chapter 23.