为什么CXF正在剥离.json文件扩展名?

为什么CXF正在剥离.json文件扩展名?,json,rest,service,cxf,Json,Rest,Service,Cxf,我的rest服务调用指定了一个路径,该路径末尾有一个json文件,包括json扩展名(.json)。CXF似乎正在剥离文件扩展名并给我带来麻烦。有人知道CXF是否在过滤文件扩展名吗 “有人知道CXF是否在筛选文件扩展名吗?” 如果您使用的是JAX-RS(似乎CXF支持REST-through-您还没有明确说明您使用的是哪一个): 免责声明:我无法用Jersey或Resteasy(支持JAX-RS 2.0)复制此内容。我不是CXF用户,因此无法使用CFX进行测试 我在某个地方读到,虽然不是在最终规

我的rest服务调用指定了一个路径,该路径末尾有一个json文件,包括json扩展名(.json)。CXF似乎正在剥离文件扩展名并给我带来麻烦。有人知道CXF是否在过滤文件扩展名吗

“有人知道CXF是否在筛选文件扩展名吗?”

如果您使用的是JAX-RS(似乎CXF支持REST-through-您还没有明确说明您使用的是哪一个)

免责声明:我无法用Jersey或Resteasy(支持JAX-RS 2.0)复制此内容。我不是CXF用户,因此无法使用CFX进行测试

我在某个地方读到,虽然不是在最终规范中,但一些实现者支持具有这种行为的规范草案的一部分

这是最终1.0版本之前规范的一部分。您可以在3.7.1请求预处理

  • 设置

    • M
      =
      {config.getMediaTypeMappings().keySet()}
    • L
      =
      {config.getLanguageAppings().keySet()}
    • m
      =
      null
    • l
      =
      null
    • 其中config是应用程序提供的ApplicationConfig子类的实例
  • 对于最终路径段中的每个扩展名(一个
    字符后跟一个或多个字母数字字符)
    e
    ,从右向左扫描:

    • (a) 从
      e
    • (b) 如果
      m
      null
      e
      m
      的成员,则从有效请求URI中删除相应的扩展名并设置
      m=e
    • (c) 否则,如果
      l
      null
      e
      l
      的成员,则从有效请求URI中删除相应的扩展名并设置
      l=e
      。否则,请转至步骤4
  • 如果m不为null,则将Accept头的值设置为
    config.getExtensionMappings().get(m)

  • 3(b)基本上是说应该从请求的URI中删除扩展,4是说应该有一些扩展映射,将say
    json
    (扩展)映射到
    application/json
    ,并将其设置为
    Accept

    不确定这是否是你的问题,但只是从你可以深入研究的东西中抛出一个想法:-)