/* * #%L * Wisdom-Framework * %% * Copyright (C) 2013 - 2014 Wisdom Framework * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * #L% */ package controllers; import org.wisdom.api.DefaultController; import org.wisdom.api.annotations.Controller; import org.wisdom.api.annotations.DefaultValue; import org.wisdom.api.annotations.Parameter; import org.wisdom.api.annotations.Route; import org.wisdom.api.http.HttpMethod; import org.wisdom.api.http.Result; import java.util.List; @Controller public class ParameterController extends DefaultController { @Route(method = HttpMethod.GET, uri = "/parameter/integer/{i}") public Result takeInt(@Parameter("i") int i) { return ok(Integer.toString(i)); } @Route(method = HttpMethod.GET, uri = "/parameter/query/integer") public Result takeIntFromQuery(@Parameter("i") int i) { return ok(Integer.toString(i)); } @Route(method = HttpMethod.GET, uri = "/parameter/long/{l}") public Result takeLong(@Parameter("l") long l) { return ok(Long.toString(l)); } @Route(method = HttpMethod.GET, uri = "/parameter/query/long") public Result takeLongFromQuery(@Parameter("l") long l) { return ok(Long.toString(l)); } @Route(method = HttpMethod.GET, uri = "/parameter/string/{s}") public Result takeString(@Parameter("s") String s) { return ok(s); } @Route(method = HttpMethod.GET, uri = "/parameter/query/string") public Result takeStringFromQuery(@Parameter("s") String s) { return ok(s); } @Route(method = HttpMethod.GET, uri = "/parameter/boolean/{b}") public Result takeBoolean(@Parameter("b") boolean b) { return ok(Boolean.toString(b)); } @Route(method = HttpMethod.GET, uri = "/parameter/query/boolean") public Result takeBooleanFromQuery(@Parameter("b") boolean b) { return ok(Boolean.toString(b)); } @Route(method = HttpMethod.GET, uri = "/parameter/query/boolean/default") public Result takeBooleanFromQueryWithDefault(@Parameter("b") @DefaultValue("on") boolean b) { return ok(Boolean.toString(b)); } @Route(method = HttpMethod.GET, uri = "/parameter/query/array") public Result takeList(@Parameter("x") int[] xs) { StringBuilder acc = new StringBuilder(); for (int x : xs) { acc.append(x); } return ok(acc.toString()); } @Route(method = HttpMethod.GET, uri = "/parameter/query/list") public Result takeList(@Parameter("x") List<Integer> xs) { StringBuilder acc = new StringBuilder(); for (int x : xs) { acc.append(x); } return ok(acc.toString()); } }