package com.intrbiz.bergamot.ui.api; import com.intrbiz.balsa.engine.route.Router; import com.intrbiz.balsa.error.http.BalsaNotFound; import com.intrbiz.bergamot.metadata.IgnoreBinding; import com.intrbiz.bergamot.model.Contact; import com.intrbiz.bergamot.ui.BergamotApp; import com.intrbiz.metadata.Get; import com.intrbiz.metadata.JSON; import com.intrbiz.metadata.Prefix; import com.intrbiz.metadata.RequireValidPrincipal; /** * Simple test API calls to prove conectivity, etc. */ @Prefix("/api/test") public class TestAPIRouter extends Router<BergamotApp> { @Get("/hello/world") @JSON() @IgnoreBinding public String helloWorld() { return "Hello World"; } @Get("/hello/you") @JSON() @RequireValidPrincipal() @IgnoreBinding public String helloYou() { return "Hello " + ((Contact) currentPrincipal()).getName(); } @Get("/goodbye/cruel/world") @RequireValidPrincipal() @IgnoreBinding public void goodbyeCruelWorld() { throw new RuntimeException("Goodby Cruel World"); } @Get("/looking/for/something") @RequireValidPrincipal() @IgnoreBinding public void lookingForSomething() { throw new BalsaNotFound(); } }