小编Fra*_*ard的帖子

2个具有不同配置的@RestController

是否可以有两个不同的@RestController在 Springboot 中使用不同的 MappingJackson2HttpMessageConverter?...或者 MappingJackson2HttpMessageConverter 对于 Spring Boot 应用程序中的所有 @RestController 来说是通用的吗?

基本上,目标是使用不同的 MappingJackson2HttpMessageConverter,其中包含不同的 Jackson ObjectMapper,该对象使用 Jackson MixIn 将 id(在 Json 中)重命名为第二个控制器中的 PriceId。

调用第一个控制器会做什么:

http://localhost:8080/controller1/price

{ id: "id", 描述: "描述" }

调用第二个控制器会做什么:

http://localhost:8080/controller2/price

{ PriceId: "id", 描述: "描述" }

问候

@SpringBootApplication
public class EndpointsApplication {

public static void main(String[] args) {
    SpringApplication.run(EndpointsApplication.class, args);
}

@Data // Lombok
@AllArgsConstructor
class Price {
    String id;
    String description;
}

@RestController
@RequestMapping(value = "/controller1")
class PriceController1 {

    @GetMapping(value = "/price")
    public …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc spring-boot

5
推荐指数
1
解决办法
524
查看次数

Spring Boot 2 - 从 RestControler 返回 rx.Observable

我试图从 Spring RestController 返回一个 Observable,但没有成功。我的代码如下:

@RestController
public class HystrixCommentController {

    @GetMapping(value = "/com1/{id}")
    public Observable<Comment> getComment1(@PathVariable int id) {
        return Observable.just(new Comment());
    }
}
Run Code Online (Sandbox Code Playgroud)

在邮递员中运行请求时,我总是收到以下错误:

{
  "timestamp": "2018-07-08T16:07:36.809+0000",
  "status": 500,
  "error": "Internal Server Error",
  "message": "No converter found for return value of type: class rx.internal.util.ScalarSynchronousObservable",
  "path": "/com1/1"
}
Run Code Online (Sandbox Code Playgroud)
  • SpringBoot 2 不也像 Mono/Flux 一样支持 RestController 中的 rx.Observable 吗?

  • 我需要手动将 Observable 转换为 Mono/Flux 吗?

问候

注意:spring-boot-starter-webflux 包含在 pom 中

我试过这个:

@RestController
    public class HystrixCommentController {

        @GetMapping(value = "/com1/{id}", produces = "application/json")
            public …
Run Code Online (Sandbox Code Playgroud)

spring spring-mvc rx-java spring-boot hystrix

5
推荐指数
1
解决办法
2116
查看次数

Spring Boot 2 - 将 Mono 转换为 rx.Observable?

我正在尝试将 HystrixObservableCommand 与 Spring WebFlux WebClient 一起使用,我想知道是否有一个“干净”的方法可以将 Mono 转换为 rx.Observable。我的初始代码如下所示:

public Observable<Comment> getComment() {

    return webClient.get()
            .uri(url)
            .accept(MediaType.APPLICATION_JSON)
            .retrieve()
            .bodyToMono(Comment.class)
            // stuff missing here :(.
}
Run Code Online (Sandbox Code Playgroud)

有一个简单的方法可以做到这一点吗?

问候

spring spring-mvc rx-java spring-boot hystrix

4
推荐指数
1
解决办法
2346
查看次数

.properties 文件中的 Spring Boot OAuth2 安全属性名称?

我目前正在学习和尝试不同的 Spring Boot Security OAuth2 包,但我对实际的配置属性名称感到非常困惑。我在互联网和多个 Spring 文档页面上发现了这些属性的不同命名方案。例如我发现

security.oauth2.resource.token-info-uri=xxx
security.oauth2.client.resource.tokenInfoUri
spring.security.oauth2.resource.token-info-uri=xxx
spring.security.oauth2.resourceserver ...
...
Run Code Online (Sandbox Code Playgroud)

我试图理解这一切,并想知道它们之间有什么区别。它们是否与版本相关、与包相关、是否有拼写错误、是否已弃用某些名称……?

问候

PS我目前使用的是Spring Boot 2.2.4

java spring-security spring-boot spring-security-oauth2

4
推荐指数
1
解决办法
3796
查看次数