Merge pull request #47 from provectus/feature/10-topic-messages-api-contract
Topic messages API. Contract
This commit is contained in:
commit
a0b4b6e1f0
2 changed files with 79 additions and 1 deletions
|
@ -11,6 +11,8 @@ import org.springframework.web.server.ServerWebExchange;
|
|||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
@RestController
|
||||
|
@ -57,6 +59,11 @@ public class MetricsRestController implements ApiClustersApi {
|
|||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<ResponseEntity<Flux<TopicMessage>>> getTopicMessages(String clusterName, String topicName, @Valid Integer partition, @Valid Long offset, @Valid OffsetDateTime timestamp, ServerWebExchange exchange) {
|
||||
return Mono.error(new UnsupportedOperationException());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<ResponseEntity<Topic>> createTopic(String clusterName, @Valid Mono<TopicFormData> topicFormData, ServerWebExchange exchange) {
|
||||
return clusterService.createTopic(clusterName, topicFormData)
|
||||
|
|
|
@ -169,6 +169,47 @@ paths:
|
|||
items:
|
||||
$ref: '#/components/schemas/TopicConfig'
|
||||
|
||||
/api/clusters/{clusterName}/topics/{topicName}/messages:
|
||||
get:
|
||||
tags:
|
||||
- /api/clusters
|
||||
summary: getTopicMessages
|
||||
operationId: getTopicMessages
|
||||
parameters:
|
||||
- name: clusterName
|
||||
in: path
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
- name: topicName
|
||||
in: path
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
- name: partition
|
||||
in: query
|
||||
schema:
|
||||
type: integer
|
||||
- name: offset
|
||||
in: query
|
||||
schema:
|
||||
type: integer
|
||||
format: int64
|
||||
- name: timestamp
|
||||
in: query
|
||||
schema:
|
||||
type: string
|
||||
format: date-time
|
||||
responses:
|
||||
200:
|
||||
description: OK
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/components/schemas/TopicMessage'
|
||||
|
||||
/api/clusters/{clusterName}/consumerGroups:
|
||||
get:
|
||||
tags:
|
||||
|
@ -335,4 +376,34 @@ components:
|
|||
numConsumers:
|
||||
type: integer
|
||||
numTopics:
|
||||
type: integer
|
||||
type: integer
|
||||
|
||||
TopicMessage:
|
||||
type: object
|
||||
properties:
|
||||
partition:
|
||||
type: integer
|
||||
offset:
|
||||
type: integer
|
||||
format: int64
|
||||
timestamp:
|
||||
type: string
|
||||
format: date-time
|
||||
timestampType:
|
||||
type: string
|
||||
enum:
|
||||
- NO_TIMESTAMP_TYPE
|
||||
- CREATE_TIME
|
||||
- LOG_APPEND_TIME
|
||||
key:
|
||||
type: string
|
||||
headers:
|
||||
type: object
|
||||
additionalProperties:
|
||||
type: string
|
||||
content:
|
||||
type: string
|
||||
required:
|
||||
- partition
|
||||
- offset
|
||||
- timestamp
|
Loading…
Add table
Reference in a new issue