.map(h -> complete(method, pattern, handler)) .forEach(routes::add); return new Route.Collection(routes.toArray(new Route.Definition[routes.size()]));
.map(h -> complete(method, pattern, handler)) .forEach(routes::add); return new Route.Collection(routes.toArray(new Route.Definition[routes.size()]));
.map(h -> before(method, pattern, h)) .forEach(routes::add); return new Route.Collection(routes.toArray(new Route.Definition[routes.size()]));
.map(h -> after(method, pattern, handler)) .forEach(routes::add); return new Route.Collection(routes.toArray(new Route.Definition[routes.size()]));
/** * Publish application routes as Swagger spec. * * @param app An application. */ public void install(final Jooby app) { requireNonNull(app, "Application is required."); ObjectMapper mapper = Json.mapper(); ObjectWriter yaml = Yaml.pretty(); app.use(new SwaggerModule(mapper)); app.get(path + "/swagger.json", path + "/:tag/swagger.json", req -> { SwaggerBuilder sb = req.require(SwaggerBuilder.class); Swagger swagger = sb.build(req.param("tag").toOptional(), predicate, tag, Swagger.class); byte[] json = mapper.writer().withDefaultPrettyPrinter().writeValueAsBytes(swagger); return Results.json(json); }).name("swagger(json)"); app.get(path + "/swagger.yml", path + "/:tag/swagger.yml", req -> { SwaggerBuilder sb = req.require(SwaggerBuilder.class); Swagger swagger = sb.build(req.param("tag").toOptional(), predicate, tag, SwaggerYml.class); byte[] yml = yaml.writeValueAsBytes(swagger); return Results.ok(yml).type("application/yaml"); }).name("swagger(yml)"); if (ui) { app.assets(path + "/ui/**", "/META-INF/resources/webjars/swagger-ui/" + wjversion(app.getClass()) + "/{0}"); app.get(path, path + "/:tag", new SwaggerHandler(path)) .name("swagger(html)") .produces(MediaType.html); } }
@SuppressWarnings("rawtypes") @Override public Route.Collection with(final Runnable callback) { // hacky way of doing what we want... but we do simplify developer life int size = this.bag.size(); callback.run(); // collect latest routes and apply route props List<Route.Props> local = this.bag.stream() .skip(size) .filter(Route.Props.class::isInstance) .map(Route.Props.class::cast) .collect(Collectors.toList()); return new Route.Collection(local.toArray(new Route.Props[local.size()])); }
@Override public Route.Collection get(final String path1, final String path2, final Route.Filter filter) { return new Route.Collection(new Route.Definition[]{get(path1, filter), get(path2, filter)}); }
@Override public Route.Collection delete(final String path1, final String path2, final Route.OneArgHandler handler) { return new Route.Collection( new Route.Definition[]{delete(path1, handler), delete(path2, handler)}); }
@Override public Route.Collection patch(final String path1, final String path2, final String path3, final Route.Filter filter) { return new Route.Collection( new Route.Definition[]{patch(path1, filter), patch(path2, filter), patch(path3, filter)}); }
@Override public Route.Collection patch(final String path1, final String path2, final Route.ZeroArgHandler handler) { return new Route.Collection( new Route.Definition[]{patch(path1, handler), patch(path2, handler)}); }
@Override public Route.Collection patch(final String path1, final String path2, final Route.Handler handler) { return new Route.Collection( new Route.Definition[]{patch(path1, handler), patch(path2, handler)}); }
@Override public Route.Collection put(final String path1, final String path2, final String path3, final Route.Filter filter) { return new Route.Collection( new Route.Definition[]{put(path1, filter), put(path2, filter), put(path3, filter)}); }
@Override public Route.Collection put(final String path1, final String path2, final String path3, final Route.Handler handler) { return new Route.Collection( new Route.Definition[]{put(path1, handler), put(path2, handler), put(path3, handler)}); }
@Override public Route.Collection put(final String path1, final String path2, final Route.Handler handler) { return new Route.Collection( new Route.Definition[]{put(path1, handler), put(path2, handler)}); }
@Override public Route.Collection post(final String path1, final String path2, final String path3, final Route.Filter filter) { return new Route.Collection( new Route.Definition[]{post(path1, filter), post(path2, filter), post(path3, filter)}); }
@Override public Route.Collection post(final String path1, final String path2, final Route.ZeroArgHandler handler) { return new Route.Collection( new Route.Definition[]{post(path1, handler), post(path2, handler)}); }
@Override public Route.Collection delete(final String path1, final String path2, final String path3, final Route.Filter filter) { return new Route.Collection( new Route.Definition[]{delete(path1, filter), delete(path2, filter), delete(path3, filter)}); }
@Override public Route.Collection delete(final String path1, final String path2, final String path3, final Route.OneArgHandler handler) { return new Route.Collection( new Route.Definition[]{delete(path1, handler), delete(path2, handler), delete(path3, handler)}); }
@Override public Route.Collection delete(final String path1, final String path2, final Route.Handler handler) { return new Route.Collection( new Route.Definition[]{delete(path1, handler), delete(path2, handler)}); }
@Override public Route.Collection patch(final String path1, final String path2, final String path3, final Route.ZeroArgHandler handler) { return new Route.Collection( new Route.Definition[]{patch(path1, handler), patch(path2, handler), patch(path3, handler)}); }