簡體   English   中英

spring5 webflux,如何返回自定義json數據?

[英]spring5 webflux, how to return custom json data?

當我不使用webflux時,我的代碼

1.public Map<String, Object> registerService(User user) {
    Map<String, Object> map = new HashMap<>(8);
    map.put("status":1);
    userRepository.save(user);
    return map;

當我使用webflux時,我的代碼

2.public Mono<Map<String, Object>> registerService(User user) {
    Map<String, Object> map = new HashMap<>(8);
    map.put("status", 1);
    userRepository.save(user);
    return Mono.just(map);
}

和2.響應為“ {“ status”:1}“,但用戶不要插入mongo

在webflux中,我無法獲得與1.響應相同的信息,那么該怎么做呢?

我不想返回用戶,只返回我的自定義地圖,然后將用戶插入mongodb

假設您的用戶存儲庫返回類型也是Mono,並且您想返回自定義地圖,則可以

public Mono<Map<String, Object>> registerService(User user) {
    return userRepository.save(user)
        .map(__ -> {
            Map<String, Object> map = new HashMap<>();
            map.put("status", 1);
            return map;
        });
}

在上面的代碼中,您並沒有打破反應鏈,但是您將返回想要的自定義地圖。

您必須訂閱Mono, userRepository.save(obj).subscribe()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM