如何获取发出触发客户端过滤器的请求的客户端的clientId?

问题描述

我正在编写一个应用程序,我想在其中基于某些配置来丰富传出请求。 配置示例

clients:
  clientA:
    header1: value1
    header2: value2
  client2:
    header1: value3
    header2: value4

为此,我有两个目标:

  • 扩展本机配置以能够添加更多信息
  • 在ClientFilter中,检索此信息并将其添加到请求中

谈论第二点: 1-是否可以通过过滤器获取发出请求的客户端的clientId?还是可以自己注入客户? 2-我是否可以根据clientId加载适当的配置?

解决方法

解决方案: 有一个请求属性,指示:

FROM xxxx  as builder
WORKDIR  /usr/src/app/
COPY src /usr/src/app/src
COPY pom.xml /usr/src/app
#COPY settings.xml /root/.m2/settings.xml
RUN mvn dependency:go-offline -f /usr/src/app/pom.xml clean package -DskipTests
#build jar from base image and then put it to target
FROM builder
WORKDIR /app
VOLUME /tmp
Run wget library.jar /app/
COPY --from=builder /usr/src/app/target/*.jar /app/
EXPOSE xxxx
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh","-c","java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom  /app/xxx.jar"]


Failed to execute goal on project service: Could not resolve dependencies for project 
service:jar:0.0.1-SNAPSHOT: Failed to collect dependencies at library:jar:0.0.5: Failed to read 
artifact descriptor for library:jar:0.0.5: Could not transfer artifact library:pom:0.0.5 from/to 
libraries-jar-snapshot (s3://testfiles/snapshot/): Could not authenticate: profile file cannot be 
null -> [Help 1]