Apache CXF将HTTP头参数映射到Bean字段

时间:2015-09-14 18:47:36

标签: jax-rs cxf

我有一个类似于下面的服务类。

@Component
@Path("/employees/")
@Produces(MediaType.APPLICATION_JSON)
public class EmpService {
    @POST
    public Response addEmployee(Emp emp) {
     // some code here to add Emp.
    }
}

@XmlRootElement
public class Emp {
    private String name;
    private int age;
    // etc.,
}

我还需要读取几个自定义HTTP标头参数,并将其包含在我方法的业务逻辑中。我阅读了有关使用@HeaderParam或@Context HttpHeaders传递标题参数的注释。在这些选项中的任何一个中,都需要更改方法签名以在addEmployee()方法中传递额外的args,这是我想避免的。

相反,有没有选择在我的Emp对象本身注入(类似于下面的代码片段)?

@XmlRootElement
public class Emp {

    @HeaderParam("myParam1")    // some thing similar to these
    private String headerParam1;
    @HeaderParam("myParam2")
    private String headerParam2;

    // To be mapped from HTTP body payload
    private String name;
    private String age;
    // etc.,
}

0 个答案:

没有答案