java - Spring MVC 缺少矩阵变量

标签 java spring spring-mvc

我正在尝试使用 SpringMVC(来自 Spring boot 1.2.3.RELEASE)将矩阵参数(或矩阵变量)添加到我的 Rest Controller 这是我的代码:

@RestController
public class SubAgentsController {

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

不幸的是,当我试图获得: http://localhost:8080/subagents;agentName=hello

这是我收到的答案:

There was an unexpected error (type=Bad Request, status=400).

Missing matrix variable 'agentName' for method parameter of type String

我做错了什么?根据http://docs.spring.io/spring-framework/docs/3.2.0.M2/reference/html/mvc.html那应该有效:-(

感谢您的回答!

最佳答案

在 Spring Boot 应用程序中,为了启用 Matrix 变量,您需要定义以下覆盖代码

@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {

    @Override
    public void configurePathMatch(PathMatchConfigurer configurer) {
        UrlPathHelper urlPathHelper = new UrlPathHelper();
        urlPathHelper.setRemoveSemicolonContent(false);
        configurer.setUrlPathHelper(urlPathHelper);
    }
}

否则,默认情况下它们是禁用的

关于java - Spring MVC 缺少矩阵变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30539783/

相关文章:

java - 使用Java验证WebDriver中DOB字段的闰年

java - Calendar.Month 给出错误的输出

java - Spring IOC Bootstrap是否可能

java - 使用 Spring Data Neo4j 关联 Neo4j 中的任意 Map.Entry

java - 为什么 Spring Boot 对实体的 "404 Not Found"处理方式不同?

java - 无法在应用程序级别设置对象(HashMap)

java - 使用 Javascript 提交 Spring 表单

java - 如何从最小二乘优化器获得最后的最佳猜测?

java - 从 JavaScript 实现 Java 接口(interface)失败并出现 TypeError

java - 纯 Java MyBatis 映射器?