@asyncapi/generator
Version:
The AsyncAPI generator. It can generate documentation, code, anything!
39 lines (31 loc) • 1.31 kB
JavaScript
import { Text } from '@asyncapi/generator-react-sdk';
import { toCamelCase, upperFirst } from '@asyncapi/generator-helpers';
export function ProduceEvent({ sendOperations }) {
return sendOperations.map((operation, index) => {
const topicName = toCamelCase(operation.channels()[index].id());
const producerName = `${upperFirst(topicName) }Producer`;
return (
<Text newLines={1}>
{`
/**
* Simple rest endpoint to simulate the event production
* */
public Response produceEvent(DTO request) {
// Logic to produce an event to Kafka
System.out.println(">>> Raw body: " + request);
if (request == null) {
System.out.println("Request is null - no body provided");
return Response.status(Response.Status.BAD_REQUEST).entity("Request body is required").build();
}
String returnedID = (request.id != null) ? request.id : "";
String returnedValue = (request.value != null) ? request.value : "";
System.out.printf("Sending request: id=%s, value=%s%n", returnedID, returnedValue);
producer.send${producerName}(returnedID, returnedValue);
return Response.accepted().build();
}`}
</Text>
);
});
}