Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
RESTful Java Web Services, Second Edition

You're reading from   RESTful Java Web Services, Second Edition Design scalable and robust RESTful web services with JAX-RS and Jersey extension APIs

Arrow left icon
Product type Paperback
Published in Sep 2015
Publisher
ISBN-13 9781784399092
Length 354 pages
Edition 1st Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Jobinesh Purushothaman Jobinesh Purushothaman
Author Profile Icon Jobinesh Purushothaman
Jobinesh Purushothaman
Arrow right icon
View More author details
Toc

Table of Contents (11) Chapters Close

Preface 1. Introducing the REST Architectural Style FREE CHAPTER 2. Java APIs for JSON Processing 3. Introducing the JAX-RS API 4. Advanced Features in the JAX-RS API 5. Introducing the Jersey Framework Extensions 6. Securing RESTful Web Services 7. The Description and Discovery of RESTful Web Services 8. RESTful API Design Guidelines A. Useful Features and Techniques Index

Versioning RESTful web APIs


You should always version the RESTful web APIs. Versioning of APIs helps you to roll out new releases without affecting the existing customer base as you can continue to offer the old API versions for a certain period of time. Later, a customer can move on to a new version if he/she prefers to do so.

You can version RESTful web APIs in many ways. Three popular techniques for versioning RESTful web APIs are given in this section.

Including the version in resource URI – the URI versioning

In the URI versioning approach, the version is appended along with the URI. An example is as follows:

GET /api/v1/departments HTTP/1.1

A sample RESTful web API implementation that takes a version identifier as part of the resource URI will look like the following:

//Imports are removed for brevity
@Path("v1/departments")
public class DepartmentResourceV1{
    @GET
    @Produces("application/json")
    public List<Department> findDepartmentsInRange(
        @QueryParam("offset"...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime