Interface WebService

  • All Superinterfaces:
    Definable<WebService.Context>

    @ServerSide
    @ExtensionPoint
    public interface WebService
    extends Definable<WebService.Context>
    Defines a web service.

    The classes implementing this extension point must be declared by Plugin.

    How to use

     public class HelloWs implements WebService {
       @Override
       public void define(Context context) {
         NewController controller = context.createController("api/hello");
         controller.setDescription("Web service example");
         // create the URL /api/hello/show
         controller.createAction("show")
           .setDescription("Entry point")
           .setHandler(new RequestHandler() {
             @Override
             public void handle(Request request, Response response) {
               // read request parameters and generate response output
               response.newJsonWriter()
                 .beginObject()
                 .prop("hello", request.mandatoryParam("key"))
                 .endObject()
                 .close();
             }
          })
          .createParam("key").setDescription("Example key").setRequired(true);
        // important to apply changes
        controller.done();
       }
     }
     

    Since version 5.5, a web service can call another web service to get some data. See Request.localConnector() provided by RequestHandler.handle(Request, Response).

    Since:
    4.2