您如何正确返回Location标头,以及使用Apigee进行HATEOAS?

麦可

我们的Apigee配置看起来像这样:

Netscaler LB-> Apigee路由器/消息处理器-> Netscaler LB-目标服务器

在这种情况下,目标服务器是带有Jersey的Java应用程序,并且我正在使用Jersey @Context检索相关的URI信息以设置例如Location头,但是所有请求细节似乎都与Netscaler有关,而不是源于要求。

如果我们使用AssignMessage策略并手动将X-Forwarded-Host URL设置为客户端调用的URL,那么一切都会正常进行。不幸的是,似乎没有一个可用的变量,而不是对此进行硬编码-围绕该变量的文档中的所有内容似乎都表明您只能在域本身之后获取路径。

迈克尔·鲁索(Michael Russo)

<ProxyEnpoint>请求段中,您可以引用变量request.header.host,它将为您提供客户端请求到Apigee的主机。

例如,如果您的URI是https://myorg-test.apigee.net/resourcerequest.header.host则ProxyEndpoint的请求段中的值为myorg-test.apigee.net

如果您尝试在中引用TargetEndpoint它,则可能已被目标请求的后端主机覆盖。如果您在TargetEndpoint中需要它,请先在中将其分配给变量,ProxyEndpoint/PreFlow/Request然后再引用该变量originalHost

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="grabOriginalHost">
    <AssignVariable>
        <Name>originalHost</Name>
      <Ref>request.header.host</Ref>
    </AssignVariable>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
    <AssignTo createNew="false" transport="http" type="request"/>
</AssignMessage>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

提取api不返回Location标头

如何使g ++正确使用我自己的glibc构建的标头?

如何从Location标头构造URI?

根据请求返回的 Flask REST api 标头以及标头究竟是什么

如何使用C ++以及仅iostream和stdio标头缩放.bmp图像?

如何在TinyProxy中正确添加标头以在Squid中进行身份验证

如何使用@RequestMapping标头?

如何使用 <format> 标头

如何从 RestAssured 响应返回位置标头

如何仅从tshark返回Http标头?

SilverStripe如何返回JSON标头

Azure函数-如何返回位置标头

使用从cURL返回的值作为Authorization标头进行后续调用

使用标头进行PHP重定向

如何搜索FMX.TListView标头以及项目

如何使用IXMLDOCUMENT使用Delphi正确创建XML标头(以xfdf格式填充pdf文档)

如何使用Nginx Ingress正确设置自定义标头?

如何使用Perl为HTTP请求发送不正确的Content-Length标头?

如何使用xslt进行解析以获取具有合并标头的这种复杂表

如何避免使用相同的SOAP标头重复进行WSDL操作

afnetworking 3.0迁移:如何使用标头和HTTP正文进行POST

如何使用fetch进行多部分/表单数据标头和FormData的POST

如何让 fastapi 使用 x-gitlab-token 标头进行身份验证

如何使用 AWS API Gateway 中的请求标头进行响应

如何根据接受标头使用ASP.NET Web MVC 6返回xml或json

如何使用AWS Lambda来获取网页并返回正文和标头

在JAX-RS中使用Location标头创建响应

使用HttpClient响应时无法获取“ location”标头

使用HTTP Location标头指示未来资源的位置