diff --git a/src/main/java/com/commafeed/frontend/model/request/FeedInfoRequest.java b/src/main/java/com/commafeed/frontend/model/request/FeedInfoRequest.java new file mode 100644 index 00000000..1ea511d7 --- /dev/null +++ b/src/main/java/com/commafeed/frontend/model/request/FeedInfoRequest.java @@ -0,0 +1,31 @@ +package com.commafeed.frontend.model.request; + +import java.io.Serializable; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlRootElement; + +import com.wordnik.swagger.annotations.ApiClass; +import com.wordnik.swagger.annotations.ApiProperty; + +@SuppressWarnings("serial") +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) +@ApiClass("Feed information request") +public class FeedInfoRequest implements Serializable { + + @ApiProperty(value = "feed url", required = true) + private String url; + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + + +} diff --git a/src/main/java/com/commafeed/frontend/rest/resources/FeedREST.java b/src/main/java/com/commafeed/frontend/rest/resources/FeedREST.java index 2dfb0e61..2acb8f81 100644 --- a/src/main/java/com/commafeed/frontend/rest/resources/FeedREST.java +++ b/src/main/java/com/commafeed/frontend/rest/resources/FeedREST.java @@ -60,6 +60,7 @@ import com.commafeed.frontend.model.Entries; import com.commafeed.frontend.model.Entry; import com.commafeed.frontend.model.FeedInfo; import com.commafeed.frontend.model.Subscription; +import com.commafeed.frontend.model.request.FeedInfoRequest; import com.commafeed.frontend.model.request.FeedModificationRequest; import com.commafeed.frontend.model.request.IDRequest; import com.commafeed.frontend.model.request.MarkRequest; @@ -239,16 +240,17 @@ public class FeedREST extends AbstractResourceREST { return info; } - @GET + @POST @Path("/fetch") @ApiOperation(value = "Fetch a feed", notes = "Fetch a feed by its url", responseClass = "com.commafeed.frontend.model.FeedInfo") public Response fetchFeed( - @ApiParam(value = "the feed's url", required = true) @QueryParam("url") String url) { - Preconditions.checkNotNull(url); + @ApiParam(value = "feed url", required = true) FeedInfoRequest req) { + Preconditions.checkNotNull(req); + Preconditions.checkNotNull(req.getUrl()); FeedInfo info = null; try { - info = fetchFeedInternal(url); + info = fetchFeedInternal(req.getUrl()); } catch (Exception e) { return Response.status(Status.INTERNAL_SERVER_ERROR) .entity(e.getMessage()).build(); @@ -307,7 +309,8 @@ public class FeedREST extends AbstractResourceREST { if (sub == null) { return Response.status(Status.NOT_FOUND).build(); } - Long unreadCount = feedSubscriptionService.getUnreadCount(getUser()).get(id); + Long unreadCount = feedSubscriptionService.getUnreadCount(getUser()) + .get(id); if (unreadCount == null) { unreadCount = new Long(0); } diff --git a/src/main/webapp/js/services.js b/src/main/webapp/js/services.js index 121e4d33..c5d42982 100644 --- a/src/main/webapp/js/services.js +++ b/src/main/webapp/js/services.js @@ -75,7 +75,7 @@ function($resource, $http) { } }, fetch : { - method : 'GET', + method : 'POST', params : { _method : 'fetch' }