HelloWorldResource
The HelloWorldResource class is a simple resource that prints a "Hello world!" message.
/**
* Sample REST resource that prints out a simple "Hello world!" message.
*/
@RestResource(
title="Hello World",
description="An example of the simplest-possible resource",
path="/helloWorld",
htmldoc=@HtmlDoc(
aside={
"<div style='max-width:400px' class='text'>",
" <p>This page shows a resource that simply response with a 'Hello world!' message</p>",
" <p>The POJO serialized is a simple String.</p>",
"</div>"
}
)
)
public class HelloWorldResource implements BasicRestConfig {
/** GET request handler */
@RestMethod(name=GET, path="/*", summary="Responds with \"Hello world!\"")
public String sayHello() {
return "Hello world!";
}
}
Notice that in this case we're not extending from {@link oajr.RestServlet}.
We are however implementing {@link oajr.BasicRestConfig} which is a no-op
interface that defines a default @RestResource annotation with all the serializers, parsers,
and configuration defined on the {@link oajr.BasicRestServlet} class.
The only difference between implementing BasicRestConfig and extending from BasicRestServlet
is that the latter provides the following additional features:
- A default OPTIONS method.
- It can be deployed like any servlet.
All other examples in this project extend from BasicRestServlet so that they provide automatic OPTIONS page support.
Pointing a browser to the resource shows the following:
http://localhost:10000/helloWorld
Using the special &Accept=text/json and &plainText=true parameters
allows us to see this page rendered as JSON:
http://localhost:10000/helloWorld?Accept=text/json&plainText=true