当前位置: 首页 > 知识库问答 >
问题:

Spring Boot 2 Jersey实现不工作

孙熠彤
2023-03-14

我正在使用Spring Boot2实现使用Jersey的REST实现。我无法将资源类注册为Jersey实现的一部分。我收到一个编译器错误。

错误:

@Service
@Path("/api/v1")
public class PersonResource {

    private final PersonRepository personRepo;

    @Autowired
    public PersonResource(PersonRepository personRepo) {
        this.personRepo = personRepo;
    }


    @GET
    @Path( "/persons")
    @Produces("application/json")

    public List<Person> getAllPerson(){
        List<Person> persons = personRepo.findAll();
        return persons;

    }

    @GET
    @Path( "/persons/{id}")
    @Produces("application/json")
    public Response findPersonById(@PathParam("id") String id) throws NumberFormatException, Exception{
        Person person = personRepo.findById(Long.valueOf(id)).orElseThrow( () -> new Exception("Unable to find a person with id: " + id));
        return Response.ok(person, MediaType.APPLICATION_JSON).build();

}
import org.glassfish.jersey.server.ResourceConfig;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;

import com.example.demo.rest.PersonResource;

@Component
public class JerseyConfig extends ResourceConfig {

    public JerseyConfig() {

        register(PersonResource.class);
    }
}
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jersey</artifactId>
    </dependency>
    <dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>javax.ws.rs-api</artifactId>
        <version>2.0</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
</dependencies>

共有1个答案

裴英才
2023-03-14

只需将JerseyConfig类名重命名为AppConfig或SomethingConfig。

 类似资料:
  • 环境:Windows 2003 Server-64位 服务器名称:devtest.domain.local Apache Tomcat 6.0.36服务器-http://Tomcat.apache.org/(Windows) 孙Java JDK:jdk1.6.0_26 同时定义%CATALINA_HOME%和%JAVA_HOME%. 正在为我们的证书颁发机构生成CSR.. 是的,我知道服务器名:d

  • 问题内容: 可以说我有一个叫做Guice服务的服务,这是它的构造函数 我的代码曾经使用枚举创建它 而且我必须在某处进行工厂实施。像这样 现在,我想使用Guice,我想我想使用FactoryModuleBuilder。 如果我对IPayment的了解不止一种,该怎么办? (例如,CardPayment,CashPayment) 适用于一个 .implement(IPayment.class, Cas

  • 我使用的是Spring数据JPA1.10.11。释放 我有一个基础存储库,所有其他存储库都会扩展它。这部分有效。 我还想为一些要扩展的存储库声明一个自定义接口。所以我声明了一个接口和一个“Impl”类: 然后,我创建一个现有的工作存储库来扩展这个新接口: 注意:此存储库在扩展TestRepository之前工作,但是在如上扩展之后,应用程序上下文将无法以错误开始: 配置如下所示: 我觉得我一直在遵

  • 我试图在C中实现正弦函数,但我得到了奇怪的结果。下面是我用来计算正弦的三个函数:

  • 我是使用谓词的新手,不确定我是否正确理解了它。我有一个抽象的类,其中每小时和薪水员工是分开创建的。我的问题依赖于我的类,我不确定如何检查它是否是每小时员工并返回真或假。 我需要为以下所有条件创建不同的谓词: 所有员工,仅每小时一次,仅限工资和全职。 到目前为止,我只是想先让“仅每小时”谓词正常工作,然后再找出剩下的谓词。我不确定在“p”后面加什么来检查它是哪种类型的员工。我目前拥有的是: 我还有一

  • 我正在使用 netbeans 并从数据库生成实体类。我所有插入和更新实体的合并调用都运行良好,但是当我尝试删除实体时,它不会将其从数据库中删除,也不会引发异常。有人可以帮我解决。我的代码如下: AbstractFacade.java AccountEntity.java DealerEntity.java