mirror of
https://github.com/Athou/commafeed.git
synced 2026-03-21 21:37:29 +00:00
use swagger instead of enunciate
This commit is contained in:
@@ -6,15 +6,19 @@ import javax.annotation.PostConstruct;
|
||||
import javax.inject.Inject;
|
||||
import javax.interceptor.AroundInvoke;
|
||||
import javax.interceptor.InvocationContext;
|
||||
import javax.servlet.ServletConfig;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.ws.rs.Consumes;
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.WebApplicationException;
|
||||
import javax.ws.rs.core.Context;
|
||||
import javax.ws.rs.core.HttpHeaders;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import javax.ws.rs.core.Response;
|
||||
import javax.ws.rs.core.Response.Status;
|
||||
import javax.ws.rs.core.UriInfo;
|
||||
|
||||
import org.apache.wicket.ThreadContext;
|
||||
import org.apache.wicket.authentication.IAuthenticationStrategy;
|
||||
@@ -41,11 +45,14 @@ import com.commafeed.backend.services.UserService;
|
||||
import com.commafeed.frontend.CommaFeedApplication;
|
||||
import com.commafeed.frontend.CommaFeedSession;
|
||||
import com.commafeed.frontend.SecurityCheck;
|
||||
import com.commafeed.frontend.rest.ApiListingResource.ServletConfigProxy;
|
||||
import com.wordnik.swagger.annotations.ApiOperation;
|
||||
import com.wordnik.swagger.jaxrs.JavaHelp;
|
||||
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
@Consumes(MediaType.APPLICATION_JSON)
|
||||
@SecurityCheck(Role.USER)
|
||||
public abstract class AbstractREST {
|
||||
public abstract class AbstractREST extends JavaHelp {
|
||||
|
||||
@Context
|
||||
HttpServletRequest request;
|
||||
@@ -126,7 +133,7 @@ public abstract class AbstractREST {
|
||||
.entity("You need to be authenticated to do this.").build());
|
||||
}
|
||||
|
||||
boolean allowed = false;
|
||||
boolean allowed = true;
|
||||
Method method = context.getMethod();
|
||||
|
||||
if (method.isAnnotationPresent(SecurityCheck.class)) {
|
||||
@@ -153,4 +160,12 @@ public abstract class AbstractREST {
|
||||
return authorized;
|
||||
}
|
||||
|
||||
@Override
|
||||
@GET
|
||||
@ApiOperation(value = "Returns information about API parameters", responseClass = "com.wordnik.swagger.core.Documentation")
|
||||
public Response getHelp(@Context ServletConfig sc,
|
||||
@Context HttpHeaders headers, @Context UriInfo uriInfo) {
|
||||
return super.getHelp(new ServletConfigProxy(sc), headers, uriInfo);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -5,8 +5,6 @@ import javax.ws.rs.GET;
|
||||
import javax.ws.rs.POST;
|
||||
import javax.ws.rs.Path;
|
||||
|
||||
import org.codehaus.enunciate.doc.DocumentationGroup;
|
||||
|
||||
import com.commafeed.backend.model.ApplicationSettings;
|
||||
import com.commafeed.backend.model.UserRole.Role;
|
||||
import com.commafeed.backend.services.ApplicationSettingsService;
|
||||
@@ -14,7 +12,6 @@ import com.commafeed.frontend.SecurityCheck;
|
||||
|
||||
@SecurityCheck(Role.ADMIN)
|
||||
@Path("admin/settings")
|
||||
@DocumentationGroup("Application Settings")
|
||||
public class AdminSettingsREST {
|
||||
|
||||
@Inject
|
||||
|
||||
@@ -12,7 +12,6 @@ import javax.ws.rs.core.Response;
|
||||
import javax.ws.rs.core.Response.Status;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.codehaus.enunciate.doc.DocumentationGroup;
|
||||
|
||||
import com.commafeed.backend.StartupBean;
|
||||
import com.commafeed.backend.model.User;
|
||||
@@ -27,7 +26,6 @@ import com.google.common.collect.Sets;
|
||||
|
||||
@SecurityCheck(Role.ADMIN)
|
||||
@Path("admin/users")
|
||||
@DocumentationGroup("User Management")
|
||||
public class AdminUsersREST extends AbstractREST {
|
||||
|
||||
@Path("save")
|
||||
|
||||
@@ -13,7 +13,6 @@ import javax.ws.rs.core.Response;
|
||||
import javax.ws.rs.core.Response.Status;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.codehaus.enunciate.doc.DocumentationGroup;
|
||||
|
||||
import com.commafeed.backend.model.FeedCategory;
|
||||
import com.commafeed.backend.model.FeedEntry;
|
||||
@@ -24,9 +23,12 @@ import com.commafeed.frontend.model.Entries;
|
||||
import com.commafeed.frontend.model.Entry;
|
||||
import com.google.common.base.Preconditions;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.wordnik.swagger.annotations.Api;
|
||||
import com.wordnik.swagger.annotations.ApiOperation;
|
||||
import com.wordnik.swagger.annotations.ApiParam;
|
||||
|
||||
@Path("entries")
|
||||
@DocumentationGroup("Entries")
|
||||
@Path("/entries/")
|
||||
@Api(value = "/entries", description = "Operations about entries")
|
||||
public class EntriesREST extends AbstractREST {
|
||||
|
||||
public static final String ALL = "all";
|
||||
@@ -39,9 +41,11 @@ public class EntriesREST extends AbstractREST {
|
||||
all, unread;
|
||||
}
|
||||
|
||||
@Path("get")
|
||||
@Path("/get")
|
||||
@GET
|
||||
public Entries getEntries(@QueryParam("type") Type type,
|
||||
@ApiOperation(value = "Find entry by ID", notes = "Add extra notes here", responseClass = "com.commafeed.frontend.model.Entries")
|
||||
public Entries getEntries(
|
||||
@ApiParam(value = "ID of entry that needs to be fetched", allowableValues = "range[1,5]", required = true) @QueryParam("type") Type type,
|
||||
@QueryParam("id") String id,
|
||||
@QueryParam("readType") ReadType readType,
|
||||
@DefaultValue("0") @QueryParam("offset") int offset,
|
||||
|
||||
@@ -6,7 +6,6 @@ import javax.ws.rs.Path;
|
||||
import javax.ws.rs.core.Response;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.codehaus.enunciate.doc.DocumentationGroup;
|
||||
|
||||
import com.commafeed.backend.model.User;
|
||||
import com.commafeed.backend.model.UserRole;
|
||||
@@ -15,7 +14,6 @@ import com.commafeed.frontend.model.ProfileModificationRequest;
|
||||
import com.commafeed.frontend.model.UserModel;
|
||||
|
||||
@Path("session")
|
||||
@DocumentationGroup("User settings")
|
||||
public class SessionREST extends AbstractREST {
|
||||
|
||||
@Path("get")
|
||||
|
||||
@@ -6,8 +6,6 @@ import javax.ws.rs.Path;
|
||||
import javax.ws.rs.core.Response;
|
||||
import javax.ws.rs.core.Response.Status;
|
||||
|
||||
import org.codehaus.enunciate.doc.DocumentationGroup;
|
||||
|
||||
import com.commafeed.backend.model.UserSettings;
|
||||
import com.commafeed.backend.model.UserSettings.ReadingMode;
|
||||
import com.commafeed.backend.model.UserSettings.ReadingOrder;
|
||||
@@ -15,7 +13,6 @@ import com.commafeed.frontend.model.Settings;
|
||||
import com.google.common.base.Preconditions;
|
||||
|
||||
@Path("settings")
|
||||
@DocumentationGroup("User settings")
|
||||
public class SettingsREST extends AbstractREST {
|
||||
|
||||
@Path("get")
|
||||
|
||||
@@ -21,7 +21,6 @@ import org.apache.commons.fileupload.disk.DiskFileItemFactory;
|
||||
import org.apache.commons.fileupload.servlet.ServletFileUpload;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.commons.lang.ObjectUtils;
|
||||
import org.codehaus.enunciate.doc.DocumentationGroup;
|
||||
|
||||
import com.commafeed.backend.model.Feed;
|
||||
import com.commafeed.backend.model.FeedCategory;
|
||||
@@ -33,7 +32,6 @@ import com.commafeed.frontend.rest.resources.EntriesREST.Type;
|
||||
import com.google.common.base.Preconditions;
|
||||
|
||||
@Path("subscriptions")
|
||||
@DocumentationGroup("Subscriptions")
|
||||
public class SubscriptionsREST extends AbstractREST {
|
||||
|
||||
@GET
|
||||
|
||||
Reference in New Issue
Block a user