micronaut-reactive

star 0

Reactive types, HTTP clients, and non-blocking patterns.

ngxtm By ngxtm schedule Updated 1/23/2026

name: Micronaut Reactive description: Reactive types, HTTP clients, and non-blocking patterns. metadata: labels: [java, micronaut, reactive] triggers: files: ['**/*.java'] keywords: [Flux, Mono, Reactive, HttpClient, '@Client', Publisher, Flowable]


Micronaut Reactive Standards

Reactive Controllers

@Controller("/users")
public class UserController {

    @Get("/{id}")
    public Mono<User> findById(Long id) {
        return userService.findById(id);
    }

    @Get(produces = MediaType.TEXT_EVENT_STREAM)
    public Flux<User> stream() {
        return userService.streamAll();
    }
}

Declarative HTTP Client

@Client("order-service")
public interface OrderClient {

    @Get("/orders/{userId}")
    Flux<Order> getOrders(Long userId);

    @Post("/orders")
    Mono<Order> createOrder(@Body CreateOrderRequest request);
}

Low-Level Client

@Singleton
public class ExternalApiService {

    private final HttpClient httpClient;

    public ExternalApiService(@Client("https://api.external.com") HttpClient httpClient) {
        this.httpClient = httpClient;
    }

    public Mono<ExternalData> fetchData(String id) {
        return Mono.from(httpClient.retrieve(
            HttpRequest.GET("/data/" + id),
            ExternalData.class
        ));
    }
}

References

Install via CLI
npx skills add https://github.com/ngxtm/skill-rule --skill micronaut-reactive
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator