package org.jsondoc.core.util.controller;
import java.util.List;
import java.util.Map;
import org.jsondoc.core.annotation.Api;
import org.jsondoc.core.annotation.ApiAuthBasic;
import org.jsondoc.core.annotation.ApiAuthBasicUser;
import org.jsondoc.core.annotation.ApiBodyObject;
import org.jsondoc.core.annotation.ApiMethod;
import org.jsondoc.core.annotation.ApiPathParam;
import org.jsondoc.core.annotation.ApiResponseObject;
import org.jsondoc.core.annotation.ApiVersion;
import org.jsondoc.core.pojo.ApiVerb;
import org.jsondoc.core.util.pojo.Parent;
@Api(name="Test2Controller", description="My test controller #2")
public class Test2Controller {
@ApiMethod(
path="/test2",
verb=ApiVerb.POST,
description="test method for controller 2",
consumes={"application/json", "application/xml"},
produces={"application/json", "application/xml"}
)
@ApiVersion(since = "1.0", until = "2.12")
@ApiAuthBasic(roles = "ROLE_USER", testusers = {@ApiAuthBasicUser(username = "test-username", password = "test-password")})
public @ApiResponseObject String save(@ApiBodyObject List<String> names) {
return null;
}
@ApiMethod(
path="/test2",
verb=ApiVerb.PUT,
description="update method for controller 2",
consumes={"application/json", "application/xml"},
produces={"application/json", "application/xml"}
)
@ApiVersion(since = "1.0", until = "2.12")
@ApiAuthBasic(roles = "ROLE_USER", testusers = {@ApiAuthBasicUser(username = "test-username", password = "test-password")})
public @ApiResponseObject String update(@ApiBodyObject List<String> names) {
return null;
}
@ApiMethod(
path="/test2",
verb=ApiVerb.PATCH,
description="patch update method for controller 2",
consumes={"application/json", "application/xml"},
produces={"application/json", "application/xml"}
)
@ApiVersion(since = "1.0", until = "2.12")
@ApiAuthBasic(roles = "ROLE_USER", testusers = {@ApiAuthBasicUser(username = "test-username", password = "test-password")})
public @ApiResponseObject String patch(@ApiBodyObject Map<String, Object> properties) {
return null;
}
@ApiMethod(
path="/testMap",
verb=ApiVerb.GET,
description="map method for controller 2",
consumes={"application/json", "application/xml"},
produces={"application/json", "application/xml"}
)
public @ApiResponseObject Map<String, Parent> map(@ApiBodyObject List<String> names) {
return null;
}
@ApiMethod(
path="/testMapBody",
verb=ApiVerb.GET,
description="map body method for controller 2",
consumes={"application/json", "application/xml"},
produces={"application/json", "application/xml"}
)
public @ApiResponseObject String map(@ApiBodyObject Map<String, Parent> names) {
return null;
}
@ApiMethod(
path="/testDelete",
verb=ApiVerb.DELETE,
description="delete test method for controller 2",
consumes={},
produces={"application/json", "application/xml"}
)
public @ApiResponseObject void delete(@ApiPathParam(name="parent", description="A parent object") Parent parent) {
}
@ApiMethod(
path="/testOptions",
verb=ApiVerb.OPTIONS,
description="options test method for controller 2",
consumes={},
produces={"application/json", "application/xml"}
)
public @ApiResponseObject String options() {
return "options";
}
@ApiMethod(
path="/testHead",
verb=ApiVerb.HEAD,
description="head test method for controller 2",
consumes={},
produces={"application/json", "application/xml"}
)
public @ApiResponseObject String head() {
return "head";
}
@ApiMethod(
path="/testtrace",
verb=ApiVerb.TRACE,
description="trace test method for controller 2",
consumes={},
produces={"application/json", "application/xml"}
)
public @ApiResponseObject String trace() {
return "trace";
}
}