blob: bbdafbca25955826582ebac072ebd3a83c46ce43 [file] [log] [blame]
/*
* Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Distribution License v. 1.0, which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
package org.glassfish.jersey.examples.jsonb;
import java.util.ArrayList;
import java.util.List;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Response;
/**
* An example resource utilizing JSONB.
*
* @author Adam Lindenthal
*/
@Path("cats")
@Consumes("application/json")
public class JsonbResource {
private static List<Cat> cats = new ArrayList<>();
static {
cats.add(new Cat("Rosa", "semi-british", "tabby", true));
cats.add(new Cat("Alfred", "semi-british", "ginger", true));
cats.add(new Cat("Mishan", "british blue", "blue/silver", true));
cats.add(new Cat("Costa", "common cat", "stracciatella", true));
}
@Path("one")
@GET
@Produces("application/json")
public Cat getCat() {
return cats.get((int) (Math.round(Math.random() * 3)));
}
@Path("all")
@GET
@Produces("application/json")
public List<Cat> getAll() {
return cats;
}
@Path("schroedinger")
@GET
public String check() {
return "The cat is 9x alive!";
}
@Path("add")
@POST
public Response createCat(Cat cat) {
System.out.println("Creating cat.");
cats.add(cat);
return Response.ok().build();
}
@Path("addAll")
@POST
public Response createMultiple(List<Cat> addedCats) {
cats.addAll(addedCats);
return Response.ok().build();
}
}