Server negotiation

Run
How to run the sample
The source code for this sample can be found in the javaee7-samples GitHub repository. The first thing we need to do is to get the source by downloading the repository and then go into the samples folder:
git clone git://github.com/javaee-samples/javaee7-samples.git
cd javaee7-samples/jaxrs/server-negotiation/
Now we are ready to start testing. You can run all the tests in this sample by executing:
mvn test
Or you can run individual tests by executing one of the following:
mvn test -Dtest=MyResourceTest

  • Specifications in use:
    • JAXRS

    MyResourceTest

    Missing a description for the story. Add some javadoc to the TestClass. Show me how!
    Missing a description for the deployment. Add some javadoc to the @Deployment method. Show me how!
    @Deployment(testable = false)
    public static WebArchive createDeployment() {
       return ShrinkWrap.create(WebArchive.class)
             .addClasses(MyApplication.class, MyResource.class, People.class, Person.class);
    }
    Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
    @Test
    public void testJson() throws JSONException {
        String response = target.request().accept("application/*").get(String.class);
        JSONAssert.assertEquals("[{\"name\":\"Penny\",\"age\":1},{\"name\":\"Leonard\",\"age\":2},{\"name\":\"Sheldon\",\"age\":3}]",
                response,
                JSONCompareMode.STRICT);
    }
    Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
    @Test
    public void testJson2() throws JSONException {
        String response = target.request().get(String.class);
        JSONAssert.assertEquals("[{\"name\":\"Penny\",\"age\":1},{\"name\":\"Leonard\",\"age\":2},{\"name\":\"Sheldon\",\"age\":3}]",
                response,
                JSONCompareMode.STRICT);
    }
    Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
    @Test
    public void testXml() throws JSONException, SAXException, IOException {
        String response = target.request().accept("application/xml").get(String.class);
        XMLAssert.assertXMLEqual("<people><person><age>1</age><name>Penny</name></person><person><age>2</age><name>Leonard</name></person><person><age>3</age><name>Sheldon</name></person></people>",
                response);
    }

    Share the Knowledge

    Find this sample useful? Share on

    There's a lot more about JavaEE to cover. If you're ready to learn more, check out the other available samples.

    Help Improve

    Find a bug in the sample? Something missing? You can fix it by editing the source, making the correction and sending a pull request. Or report the problem to the issue tracker

    Recent Changelog

    • Jul 15, 2014: Removed default header by Roberto Cortez
    • Jul 15, 2014: Removed header license. the licensing is now referenced in the license file in the root of the project by Roberto Cortez
    • Dec 03, 2013: Change to use client.target(uri) to be compatible with jax-rs 1.0 by Aslak Knutsen
    • Nov 12, 2013: Convert jax-rs samples to arquillian: server negotiation by Aslak Knutsen
    • Nov 08, 2013: Removing web pages/servlet and converting to unit tests by Arun Gupta
    • Nov 08, 2013: Fixing a name by Arun Gupta
    • Oct 02, 2013: Explicitly specifying application/* media type by Arun Gupta
    • Sep 17, 2013: Removing netbeans configuration file by Arun Gupta
    • Sep 04, 2013: Adding a logging statement by Arun Gupta
    • Aug 27, 2013: Fixing a log statement by Arun Gupta
    How to help improve this sample
    The source code for this sample can be found in the javaee7-samples GitHub repository. The first thing you need to do is to get the source by downloading the repository and then go into the samples folder:
    git clone git://github.com/javaee-samples/javaee7-samples.git
    cd javaee7-samples/jaxrs/server-negotiation/

    Do the changes as you see fit and send a pull request!

    Good Luck!