@Component
@Path(value="/topics")
public class TopicsEndpoint
extends java.lang.Object
| Constructor and Description |
|---|
TopicsEndpoint(TopicService topicService,
ManagementRights managementRights,
OwnerSources ownerSources) |
| Modifier and Type | Method and Description |
|---|---|
javax.ws.rs.core.Response |
create(pl.allegro.tech.hermes.api.TopicWithSchema topicWithSchema,
javax.ws.rs.container.ContainerRequestContext requestContext) |
pl.allegro.tech.hermes.api.TopicWithSchema |
get(java.lang.String qualifiedTopicName) |
pl.allegro.tech.hermes.api.TopicMetrics |
getMetrics(java.lang.String qualifiedTopicName) |
java.util.List<pl.allegro.tech.hermes.api.MessageTextPreview> |
getPreview(java.lang.String qualifiedTopicName) |
byte[] |
getPreviewRaw(java.lang.String qualifiedTopicName,
java.lang.Integer idx) |
java.util.List<java.lang.String> |
list(java.lang.String groupName,
boolean tracked) |
java.util.List<pl.allegro.tech.hermes.api.Topic> |
listForOwner(java.lang.String ownerSourceName,
java.lang.String id) |
java.lang.String |
preview(java.lang.String qualifiedTopicName,
java.lang.String brokersClusterName,
java.lang.Integer partition,
java.lang.Long offset) |
java.util.List<java.lang.String> |
queryList(java.lang.String groupName,
pl.allegro.tech.hermes.api.Query<pl.allegro.tech.hermes.api.Topic> query) |
javax.ws.rs.core.Response |
remove(java.lang.String qualifiedTopicName,
javax.ws.rs.core.SecurityContext securityContext) |
javax.ws.rs.core.Response |
update(java.lang.String qualifiedTopicName,
pl.allegro.tech.hermes.api.PatchData patch,
javax.ws.rs.core.SecurityContext securityContext) |
@Autowired public TopicsEndpoint(TopicService topicService, ManagementRights managementRights, OwnerSources ownerSources)
@GET
@Produces(value="application/json")
public java.util.List<java.lang.String> list(@DefaultValue(value="") @QueryParam(value="groupName")
java.lang.String groupName,
@DefaultValue(value="false") @QueryParam(value="tracked")
boolean tracked)
@POST
@Consumes(value="application/json")
@Produces(value="application/json")
@Path(value="/query")
public java.util.List<java.lang.String> queryList(@DefaultValue(value="") @QueryParam(value="groupName")
java.lang.String groupName,
pl.allegro.tech.hermes.api.Query<pl.allegro.tech.hermes.api.Topic> query)
@POST
@Consumes(value="application/json")
@Produces(value="application/json")
@RolesAllowed(value="any")
public javax.ws.rs.core.Response create(pl.allegro.tech.hermes.api.TopicWithSchema topicWithSchema,
@Context
javax.ws.rs.container.ContainerRequestContext requestContext)
@DELETE
@Produces(value="application/json")
@Path(value="/{topicName}")
@RolesAllowed(value={"admin","topicOwner"})
public javax.ws.rs.core.Response remove(@PathParam(value="topicName")
java.lang.String qualifiedTopicName,
@Context
javax.ws.rs.core.SecurityContext securityContext)
@PUT
@Consumes(value="application/json")
@Produces(value="application/json")
@Path(value="/{topicName}")
@RolesAllowed(value={"admin","topicOwner"})
public javax.ws.rs.core.Response update(@PathParam(value="topicName")
java.lang.String qualifiedTopicName,
pl.allegro.tech.hermes.api.PatchData patch,
@Context
javax.ws.rs.core.SecurityContext securityContext)
@GET
@Produces(value="application/json")
@Path(value="/{topicName}")
public pl.allegro.tech.hermes.api.TopicWithSchema get(@PathParam(value="topicName")
java.lang.String qualifiedTopicName)
@GET
@Produces(value="application/json")
@Path(value="/{topicName}/metrics")
public pl.allegro.tech.hermes.api.TopicMetrics getMetrics(@PathParam(value="topicName")
java.lang.String qualifiedTopicName)
@GET
@Produces(value="application/json")
@Path(value="/{topicName}/preview")
public java.util.List<pl.allegro.tech.hermes.api.MessageTextPreview> getPreview(@PathParam(value="topicName")
java.lang.String qualifiedTopicName)
@GET
@Produces(value="application/octet-stream")
@Path(value="/{topicName}/preview/{idx}")
public byte[] getPreviewRaw(@PathParam(value="topicName")
java.lang.String qualifiedTopicName,
@PathParam(value="idx")
java.lang.Integer idx)
@GET
@Produces(value="application/json")
@Path(value="/{topicName}/preview/cluster/{brokersClusterName}/partition/{partition}/offset/{offset}")
@RolesAllowed(value="admin")
public java.lang.String preview(@PathParam(value="topicName")
java.lang.String qualifiedTopicName,
@PathParam(value="brokersClusterName")
java.lang.String brokersClusterName,
@PathParam(value="partition")
java.lang.Integer partition,
@PathParam(value="offset")
java.lang.Long offset)
@GET
@Produces(value="application/json")
@Path(value="/owner/{ownerSourceName}/{ownerId}")
public java.util.List<pl.allegro.tech.hermes.api.Topic> listForOwner(@PathParam(value="ownerSourceName")
java.lang.String ownerSourceName,
@PathParam(value="ownerId")
java.lang.String id)