You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Function App(Java)中如何获取URI片段标识符?

问题解答

操作是否有误?

没有操作错误,这是HTTP协议的标准行为。

原因说明

URI中的**Fragment(即#后的部分)**是客户端(浏览器/请求发起方)的本地标识,用于定位页面内的资源。根据HTTP规范,客户端在向服务器发送请求时,会自动剥离Fragment部分,不会将其传递到服务器端。因此你的Azure函数(服务器端)根本接收不到这部分内容,自然无法通过request.getUri()获取到。

解决建议

如果需要让服务器获取到原本在Fragment中的内容,可采用以下两种方案:

  • 客户端转换为查询参数:在发送请求前,将#后的内容提取出来,作为查询参数添加到URL的?参数区。比如把原请求地址改为:
    http://localhost:7071/api/myTest?abc=1111&fragmentIdentifier=123
    
    之后在函数中可以通过查询参数获取该值:
    String fragmentValue = request.getQueryParameters().get("fragmentIdentifier");
    
  • 通过请求体传递(仅适用于POST请求):如果是POST请求,可将Fragment内容放入请求体中(比如封装为JSON格式),函数从请求体中读取对应数据:
    Optional<String> requestBody = request.getBody();
    // 解析requestBody获取fragment内容,具体解析逻辑根据请求体格式调整
    

内容的提问来源于stack exchange,提问作者Abe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 08:29:53