package mock.controllers.exceptions;
import com.github.aesteve.vertx.nubes.annotations.Controller;
import com.github.aesteve.vertx.nubes.annotations.mixins.ContentType;
import com.github.aesteve.vertx.nubes.annotations.routing.http.GET;
import com.github.aesteve.vertx.nubes.exceptions.ValidationException;
import com.github.aesteve.vertx.nubes.exceptions.http.impl.BadRequestException;
import com.github.aesteve.vertx.nubes.exceptions.http.impl.ForbiddenException;
import com.github.aesteve.vertx.nubes.exceptions.http.impl.NotFoundException;
import com.github.aesteve.vertx.nubes.exceptions.http.impl.UnauthorizedException;
import java.util.Arrays;
@Controller("/exceptions")
@ContentType("application/json")
public class ExceptionController {
@GET("/badrequest")
public void badRequest() throws BadRequestException {
throw new BadRequestException();
}
@GET("/badrequest2")
public void badRequest2() throws BadRequestException {
throw new BadRequestException("I can't understand");
}
@GET("/forbidden")
public void forbidden() throws ForbiddenException {
throw new ForbiddenException();
}
@GET("/forbidden2")
public void forbidden2() throws ForbiddenException {
throw new ForbiddenException("Sorry :(");
}
@GET("/notfound")
public void notFound() throws NotFoundException {
throw new NotFoundException();
}
@GET("/notfound2")
public void notFound2() throws NotFoundException {
throw new NotFoundException("Some resource");
}
@GET("/unauthorized")
public void unauthorized() throws UnauthorizedException {
throw new UnauthorizedException();
}
@GET("/validation")
public void validated() throws BadRequestException {
ValidationException ve = new ValidationException(Arrays.asList("field1 is missing", "field2 is missing"));
throw new BadRequestException(ve);
}
}