当前位置: 首页 > 知识库问答 >
问题:

Spring MVC缺少矩阵变量

山越
2023-03-14

我正在尝试使用SpringMVC(来自Spring boot 1.2.3.Release)向我的Rest控制器添加一个矩阵参数(或矩阵变量),下面是我的代码:

@RestController
public class SubAgentsController {

    @RequestMapping(value = "/{subagents}", method = RequestMethod.GET)
    public SubAgent subAgents(@MatrixVariable(value="agentName", pathVar="subagents") String agentName) {
        System.out.println(agentName);
    }
}

这就是我得到的答案:

出现错误(类型=错误请求,状态=400)。

String类型的方法参数缺少矩阵变量“agent name”

我做错了什么?根据http://docs.spring.io/spring-framework/docs/3.2.0.m2/reference/html/mvc.html应该工作:-(

谢谢你的回答!

共有1个答案

邓韬
2023-03-14

当您链接到的文档声明时,

请注意,若要启用矩阵变量的使用,必须将RequestMappingHandlerMappingRemoveSemicolonContent属性设置为False。默认情况下,它被设置为true,但MVC名称空间和MVC Java配置除外,两者都自动启用矩阵变量的使用。

如果您通过扩展WebMVCConfigurationSupport来配置应用程序,则重写RequestMappingHandlerMapping方法,该方法准备RequestMappingHandlerMapping并设置其适当的属性。

@Override
public RequestMappingHandlerMapping requestMappingHandlerMapping() {
    final RequestMappingHandlerMapping requestMappingHandlerMapping = super.requestMappingHandlerMapping();
    requestMappingHandlerMapping.setRemoveSemicolonContent(false); // <<< this
    return requestMappingHandlerMapping;
}

你就会准备好了。

对于Spring Boot,我认为您所需要的只是使用上面的IE声明一个@bean方法。返回RequestMappingHandlerMapping实例。

 类似资料:
  • 变换矩阵 之前三节所说的坐标变换的三种方式——平移translate(),缩放scale(),以及旋转rotate()都可以通过transform()做到。 在介绍矩阵变换transform()前,我们来说一说什么是变换矩阵。 以上是Canvas中transform()方法所对应的变换矩阵。而此方法正是传入图中所示的六个参数,具体为context.transform(a,b,c,d,e,f)。 各

  • 问题内容: 我想填充用的与经典ASP / VBScript中的站点。这些值是从SQL Server数据库读取和获取的,其代码类似于: 我的问题是似乎只有一侧可以评估。 随着我得到: 随着我得到: 应该采取什么措施缓解这一问题? 问题答案: 试试这个:

  • Three.js使用matrix编码3D变换 —— 平移(位置),旋转和缩放。 Object3D的每个实例都有一个matrix,用于存储该对象的位置,旋转和比例。本页介绍如何更新对象的变换。 便利的属性和matrixAutoUpdate(Convenience properties and matrixAutoUpdate) 有两种方法可以更新对象的转换: 修改对象的position,quater

  • 成员变量 变量 类型 名称 备注 matrix Object 矩阵 scale Object 缩放 position Object 位置 rotation Object 旋转 localPivot Object 中枢 localAnchor Object 锚点 矩阵 例子: var tex = new BK.Texture("GameRes://resource/texture/star.png"

  • 问题内容: 我正在使用阴影中的形状生成使用安装在移动平台上的相机拍摄的图像的数字地形模型(DTM)。用Python编写的算法似乎运行得很好,但是输出是倾斜的并且有点球形,所以我怀疑我需要从DTM中消除透视失真和桶形。 如果有人对此感兴趣,可以在这里获得数据。 摄像机以41度倾斜安装,并具有以下摄像机和失真矩阵: 如何应用透视变换并从此矩阵中消除桶形失真以获得平坦的DTM? 我已经尝试过使用Open

  • 着色器语言中通过关键字mat2、mat3、mat4分别声明一个2x2矩阵、3x3矩阵、4x4矩阵,通过内置函数mat2()、mat3()、mat4()分别创建一个2x2矩阵、3x3矩阵、4x4矩阵。 关键字 数据类型 mat2 2x2矩阵,4个元素 mat3 3x3矩阵,9个元素 mat4 4x4矩阵,16个元素 声明变量 关键子mat4声明一个4x4矩阵 mat4 matrix4; 构造函数赋