Spring Boot Kafka Microservices - #11 - Create REST API and Test Kafka Producer in OrderService


Welcome to Spring Boot Kafka Event-Driven Microservices Series. In this lecture, we will Create REST API and Test Kafka Producer in OrderService Microservice.

Lecture - #11 - Create REST API and Test Kafka Producer in OrderService

Source Code used in Lecture for Your Reference

Create REST API to Send Order and Test Kafka Producer in OrderService Microservice

Let's create a simple POST REST API to send Order information as a JSON object.

In an order-service project, create a package named controller. Within a controller package, create a class named OrderController and add the following content to it:

package net.javaguides.orderservice.controller;

import net.javaguides.basedomains.dto.Order;
import net.javaguides.basedomains.dto.OrderEvent;
import net.javaguides.orderservice.kafka.OrderProducer;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.UUID;

@RestController
@RequestMapping("/api/v1")
public class OrderController {

    private OrderProducer orderProducer;

    public OrderController(OrderProducer orderProducer) {
        this.orderProducer = orderProducer;
    }

    @PostMapping("/orders")
    public String placeOrder(@RequestBody Order order){

        order.setOrderId(UUID.randomUUID().toString());

        OrderEvent orderEvent = new OrderEvent();
        orderEvent.setStatus("PENDING");
        orderEvent.setMessage("order status is in pending state");
        orderEvent.setOrder(order);

        orderProducer.sendMessage(orderEvent);

        return "Order placed successfully ...";
    }
}

Comments