Java 弹簧Webflux返回404(非Foud)

Java 弹簧Webflux返回404(非Foud),java,spring,spring-boot,reactive-programming,spring-webflux,Java,Spring,Spring Boot,Reactive Programming,Spring Webflux,我必须使用SpringWebFlux以被动的方式保存一些值。但是当我发送请求时,404状态作为响应返回 pom.xml org.springframework.boot 这很奇怪,但当我删除了jersey依赖项后,它就工作了。仍然不确定背后的原因。 引发拉请求您合并相同的内容以接受我所做的更改 JAX-RS是javaee中关于如何编写restapi的规范。几个库随后实现了上述规范,如Jersey或restEasy。在构建JavaEE应用程序时,您需要这些库中的一个来构建RESTAPI Spri

我必须使用SpringWebFlux以被动的方式保存一些值。但是当我发送请求时,404状态作为响应返回

pom.xml

org.springframework.boot

这很奇怪,但当我删除了
jersey
依赖项后,它就工作了。仍然不确定背后的原因。 引发拉请求您合并相同的内容以接受我所做的更改
JAX-RS
javaee
中关于如何编写restapi的规范。几个库随后实现了上述规范,如
Jersey
restEasy
。在构建JavaEE应用程序时,您需要这些库中的一个来构建RESTAPI

Spring为非反应式应用程序构建了自己的RESTAPI
SpringWeb
,为反应式应用程序构建了自己的RESTAPI
SpringWebFlux

Jersey
restEasy
(据我所知)仅在构建非反应式应用程序时有效

为了使代码正常工作,您需要删除:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jersey</artifactId>
</dependency>

org.springframework.boot


您需要删除以下依赖项

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jersey</artifactId>
</dependency>
您还必须在JerseyConfig中注册这个类

import com.zetcode.endpoint.HelloService;
import org.glassfish.jersey.server.ResourceConfig;
import org.springframework.context.annotation.Configuration;

@Configuration
public class JerseyConfig extends ResourceConfig {

    public JerseyConfig() {
        
        register(HelloService.class);
    }
}

如果您想继续使用spring内置函数并使用reactive,只需删除jersey依赖项并使用webflux依赖项来创建rest api。

确保您的
EmpController
@ComponentScan
下。如果未放置任何
@ComponentScan
,请确保已将文件放置在存在
main()
的相同或子包下。您可以在此处共享项目结构以获得更多了解,也可以创建GitHub repo并共享URL。@Vipul Kumar here GitHub repo链接jersey依赖项不需要。Spring不使用球衣它在移除
球衣
@ThomasAndolf后工作。如果可能的话,让我知道为什么我甚至不确定球衣是否可以用于反应性应用。你能确认吗?是的,它不能用于反应性应用。对于反应式,我们必须使用webflux删除jersey依赖项。
import com.zetcode.endpoint.HelloService;
import org.glassfish.jersey.server.ResourceConfig;
import org.springframework.context.annotation.Configuration;

@Configuration
public class JerseyConfig extends ResourceConfig {

    public JerseyConfig() {
        
        register(HelloService.class);
    }
}