gpt4 book ai didi

java - 如何在 jersey 1.11 过滤器中添加自定义响应和中止请求

转载 作者:太空狗 更新时间:2023-10-29 22:31:49 25 4
gpt4 key购买 nike

我正在尝试为 jersey 1.11 过滤器中的其余调用实现用户身份验证。

这是我试过的

package com.ilrn.session.webservices.rest.filter;

import com.ilrn.entity.User;;
import com.sun.jersey.spi.container.ContainerRequest;
import com.sun.jersey.spi.container.ContainerRequestFilter;

public class CustomFilter implements ContainerRequestFilter{

@Override
public ContainerRequest filter(ContainerRequest request) {
User user = Helper.getCurrentUser();
if(user == null){
//Need to add custom response and abort request
}
return request;
}

}

有谁知道有什么方法可以达到同样的目的吗?

最佳答案

如果发生错误,如果您想发送自定义响应,则需要抛出 WebApplicationException。创建一个 Response 对象并使用以下异常构造函数将其发回:

WebApplicationException(Response response) 
Construct a new instance using the supplied response

试试这个:

@Override
public ContainerRequest filter(ContainerRequest request) {
User user = Helper.getCurrentUser();
if(user == null){
ResponseBuilder builder = null;
String response = "Custom message";
builder = Response.status(Response.Status.UNAUTHORIZED).entity(response);
throw new WebApplicationException(builder.build());

}
return request;
}

关于java - 如何在 jersey 1.11 过滤器中添加自定义响应和中止请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17143514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com