首页 > 解决方案 > @XmlRootElement 在球衣休息区不起作用

问题描述

错误:

未找到媒体类型 = 应用程序/xml、类型 = 类 com.example.DemoRest2.Employee、通用类型 = 类 com.example.DemoRest2.Employee 的 MessageBodyWriter。

我想以 xml 格式返回 Employee.class 的对象,但出现上述错误。我正在使用 @XmlRootElement 注释。但是,当我以字符串格式返回它时,它工作正常。

EmployeeRsource.java

import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;

@Path("employee")
public class EmployeeResource {

@GET
@Produces(MediaType.APPLICATION_XML)
public Employee getEmp() {
    
    Employee e1 = new Employee();
    e1.setName("Tom");
    e1.setAge(25);
    System.out.println(e1);
    
    return e1;
}
}

雇员.java

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class Employee {

private String name;
private int age;
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public int getAge() {
    return age;
}
public void setAge(int age) {
    this.age = age;
}
@Override
public String toString() {
    return "Employee [name=" + name + ", age=" + age + "]";
}   

}

在用户界面上获取“内部服务器错误 500”

我已经有以下依赖项: jersey-media-jaxb - 3.0.2 jaxb-api - 2.3.1 jersey-container-servlet-core jersey-hk2 jersey version - 3.0.2

标签: javarestgetjersey

解决方案


推荐阅读