/**
* This endpoint has private publication scope.
*/
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.versly.rest.wsdoc.DocumentationScope;
import org.versly.rest.wsdoc.RestApiMountPoint;
public class PublicationScopes {
/**
* A controller with default publication scopes
*/
@RestApiMountPoint("/default")
@RequestMapping("/api/v1")
public static class DefaultController {
@RequestMapping(value = "/public1", method = RequestMethod.GET)
public void pub() {
}
}
/**
* A controller with some public and some private scopes
*/
@RestApiMountPoint("/mixed")
@RequestMapping("/api/v1")
public static class MixedController {
@DocumentationScope(DocumentationScope.PUBLIC)
@RequestMapping(value = "/public2", method = RequestMethod.GET)
public void pub() {
}
@DocumentationScope(DocumentationScope.PRIVATE)
@RequestMapping(value = "/private2", method = RequestMethod.GET)
public void priv() {
}
}
/**
* A controller with all private scopes.
*/
@RestApiMountPoint("/private")
@RequestMapping("/api/v1")
public static class PrivateController {
@DocumentationScope(DocumentationScope.PRIVATE)
@RequestMapping(value = "/private3", method = RequestMethod.GET)
public void priv() {
}
}
/**
* A controller that is private at the class level and containing one public method.
*/
@DocumentationScope(DocumentationScope.PRIVATE)
@RestApiMountPoint("/classpriv")
@RequestMapping("/api/v1")
public static class ClassPrivateController {
@RequestMapping(value = "/private4", method = RequestMethod.GET)
public void priv() {
}
@DocumentationScope(DocumentationScope.PUBLIC)
@RequestMapping(value = "/pubpriv4", method = RequestMethod.GET)
public void pub() {
}
}
/**
* A controller that is private at the class level and containing one public method.
*/
@DocumentationScope(DocumentationScope.PUBLIC)
@RestApiMountPoint("/classpriv")
@RequestMapping("/api/v1")
public static class ClassPublicController {
@RequestMapping(value = "/public5/foo", method = RequestMethod.GET)
public void pub1() {
}
@DocumentationScope(DocumentationScope.PRIVATE)
@RequestMapping(value = "/pubpriv5/bar", method = RequestMethod.GET)
public void pub2() {
}
}
/**
* A controller that is "experimental" scope only.
*/
@DocumentationScope("experimental")
@RestApiMountPoint("/newshakystuff")
public static class ExperimentalController {
@RequestMapping(value = "/foo", method = RequestMethod.GET)
public void foo() {
}
@RequestMapping(value = "/bar", method = RequestMethod.GET)
public void bar() {
}
}
}