import javax.enterprise.context.ApplicationScoped;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
import io.smallrye.mutiny.Uni;
/**
* A MicroProfile REST client of internal services APIs, such as xxx service, xxx service. To
* configure the base URL, one needs to add a line to the application.properties file.
*/
@Path("/api")
@ApplicationScoped
@RegisterRestClient
public interface InternalService {
@GET
@Path...
}
{"message":"Handled
Internally","stackFrames":["org.jboss.resteasy.microprofile.client.ExceptionMapping$HandlerException:
Handled Internally","\tat
org.jboss.resteasy.microprofile.client.ExceptionMapping.filter(ExceptionMapping.java:72)","\tat
org.jboss.resteasy.client.jaxrs.internal.ClientInvocation.filterResponse(ClientInvocation.java:715)","\tat
org.jboss.resteasy.client.jaxrs.internal.ClientInvocation.invoke(ClientInvocation.java:489)","\tat
/**
* This implementation is a bit of a hack and dependent on Resteasy internals.
* We throw a ResponseProcessingExceptoin that hides the Response object
*/
@SuppressWarnings({"rawtypes", "unchecked"})
public class ExceptionMapping implements ClientResponseFilter {
public static class HandlerException extends ResponseProcessingException {
protected ClientResponse handled;
protected List<ResponseExceptionMapper> candidates;
我认为这个客户机库很方便,并希望继续使用它,但我如何驯服它或重写它,以便返回真正的错误消息?
我不知道是否有可能改变这一点,或者如何改变,但我知道这是为了防止你看起来正在做的事情。
假设客户机A向服务B请求某事。反过来,服务B向服务C请求其他东西。在这里,B充当a的服务器和C的客户机。如果B接受C的错误响应并将其转发给a而不做任何更改,那将是一个坏主意[1]。这样做可能很容易暴露内部实现细节,包括可能的敏感数据。服务B应该处理来自C的错误响应(通过捕获异常),并将自己的错误响应返回给客户机A。
[1]除非B是HTTP代理,但您不使用JAX-RS和MicroProfile RestClient来实现这些代理。
我在RestEasy客户端-3.0.8中得到以下异常
我的研究使我找到了以下资源: 如何在客户端Javascript中隐藏API键 http://billpatrianakos.me/blog/2016/02/15/securing-api-key-in-a-javascript-single-page-app/
我正在尝试编写简单的RESTEasy客户端。下面给出了示例代码: 我在行中得到异常: 我在控制台中看到以下错误: 更新:我还尝试在POM中添加resteasy jax-rs依赖关系。我还通过在web.xml中添加以下行来验证是否启用了ResteasyProviderFactory: 请查看以下maven依赖项列表: 但这不起作用。 但现在我看到了其他方法的类似异常: 我在行中看到了这个例外: 奇怪
我正在使用RESTEasy客户端从API中检索JSON字符串。JSON有效负载看起来像这样: 现在,我只提取对象映射的<code>项 我将RESTEasy代理框架用于我的API方法。 REST客户端代码: RESTEasy代理接口:
客户端配置项设置示例 lookoutConfig.setProperty(LookoutConfig.LOOKOUT_AGENT_HOST_ADDRESS,"127.0.0.1"); 客户端配置项说明 配置项 对应 SpringBoot 配置项 默认配置值 说明 lookout.enable com.alipay.sofa.lookout.enable true 功能开关,默认是 true。如
不确定发生了什么,但我不知道我的反应在哪里被劫持了。