簡體   English   中英

Spring Webflux - HttpMediaTypeNotAcceptableException:找不到可接受的表示

[英]Spring Webflux - HttpMediaTypeNotAcceptableException: Could not find acceptable representation

你能告訴我為什么我收到錯誤已解決[org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation] 這是一個簡單的彈簧 webflux 控制器。

@RestController
public class TestContoller {

    @GetMapping("/Test")
    public Mono<ServerResponse> handleRequest2() {
        return
                Mono.just("Hello")
                        .flatMap(s -> ServerResponse.ok()
                                .contentType(MediaType.TEXT_PLAIN)
                                .bodyValue(s))
                        .onErrorResume(e -> Mono.just("Hello, Stranger")
                                .flatMap(s -> ServerResponse.ok()
                                        .contentType(MediaType.TEXT_PLAIN)
                                        .bodyValue(s)));
    }

}

從這個鏈接中得到了一個線索。 需要使用功能端點而不是 @GetMapping 來使 ServerRerequest 和 ServerResponse 對象正常工作。

示例路由器配置

@Configuration
public class RouterConfig {

private KeyConversionHandler handler;

public RouterConfig(KeyConversionHandler handler) {
    this.handler = handler;
}

@Bean
public RouterFunction<ServerResponse> routerFunctions() {
    return RouterFunctions.route().GET("/productGroup/{displayId}", handler::getProductGroupId).build();
}
}

示例處理程序配置:

@Service    
public class KeyConversionHandler {

private KeyConversionService keyConversionService;

public KeyConversionHandler(KeyConversionService keyConversionService) {
    this.keyConversionService = keyConversionService;
}

public Mono<ServerResponse> getProductGroupId(ServerRequest request){

    String displayId = request.pathVariable("displayId");
    String token= request.headers().firstHeader(X_SAP_CRM_TOKEN);
    return keyConversionService.getProductGroupId(displayId,token)
            .flatMap(s-> ServerResponse.ok().bodyValue(s))
            .onErrorResume(e -> ServerResponse.status(500).bodyValue(e.getLocalizedMessage()))
            .log();
}

}

Regrads,阿比納什

暫無
暫無

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

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