我想使用自定义WebArgumentResolver作为id – >实体.如果我使用请求参数,则足够简单:使用参数键确定实体类型并相应地查找.

但我希望它像@PathVariable注释.

例如.

http://mysite.xzy/something/enquiryId/itemId将触发此方法

@RequestMapping(value = "/something/{enquiry}/{item}")
public String method(@Coerce Enquiry enquiry,@Coerce Item item)

@Coerce注释会告诉WebArgumentResolver根据它的类型使用特定服务.

问题在于哪个uri部分属于实体.

有人可以解释PathVariable注释如何做到这一点.是否可以使用我的自定义注释来模拟它.

谢谢.

解决方法

您可以使用 @InitBinder 让spring知道如何将给定的String强制转换为您的自定义类型.

你想要的东西是这样的:

@RequestMapping(value = "/something/{enquiry}")
public String method(@PathVariable Enquiry enquiry) {...}


@InitBinder
public void initBinder(WebDataBinder binder) {
    binder.registerCustomEditor(Enquiry.class,new propertyeditorSupport() {
        @Override
        public String getAsText() {
            return ((Enquiry) this.getValue()).toString();
        }

        @Override
        public void setAsText(String text) throws IllegalArgumentException {
            setValue(new Enquiry(text));
        }
    });
}

java – 自定义WebArgumentResolver,如@PathVariable的更多相关文章

  1. Swift Test传递参数

    有谁知道如何为swift测试提供命令行参数?)实际上,您可以使用环境来完成它.具有以下内容的测试:使用swift命令行将成功:

  2. swift – 由于信号命令失败:分段故障:11同时发出IR SIL功能

    如果你声明一个Bool,你也可能有这个错误!在类中的属性,并尝试使用此属性创建三元条件:只需添加!

  3. php – 而不是Form动作和方法

    我发现没有“行动”和“方法”在按下提交按钮后,我想在文本框中输入值.我怎样才能像前者一样?

  4. php – 将函数传递给foreach循环

    出于好奇,下面两个功能等同的选项?与只是想确保我不会在每次迭代中调用该函数或任何愚蠢的.谢谢!是的,他们基本相同.唯一的区别是第一个将为当前作用域添加一个变量.

  5. 使用PHP DOMXpath遍历子节点?

    我在理解childNodes中存储的内容时遇到了一些麻烦.理想情况下,我想在每个子节点上做另一个xquery,但似乎无法直截了当.这是我的情景:数据:和代码:对于“某事物”的每个元素(即$n),我想要访问两段文本和href的值.我尝试使用childNode和另一个xquery,但无法获得任何工作.任何帮助将不胜感激!

  6. php – 在codeigniter中调试路由?

    我想知道是否有任何简单的方法在代码点火器中调试路由?我希望能够在日志中看到以下内容:基本上它意味着我们可以看到我们何时到达路线以及它何时尝试加载.有没有办法在这些方面启用某些东西?

  7. php – scandir – 排序数字文件名

    做了一些搜索,但似乎无法找到我正在寻找的确切答案.我想使用’scandir’来输入带有编号文件名的文件,但要正确排序.例如,文件名是:我遇到的问题是10-a-fourth-thing.ext将显示在2-something-else.ext之前.我想找到一种解决这个问题的更好方法,而不是在所有文件名前面引入前导’0′.有什么想法吗?谢谢.natsort完全符合您的需求.使用SORT_NUMERIC进行排序也适用于以数字开头的文件名,但如果前面也没有数字的名称也会中断.

  8. php – 如何实例化具有私有构造函数的类

    我如何实例化一个具有私有构造函数的类.我不想在类中使用任何函数来创建自己的实例.Ex类是:您无法从构造函数为私有的类(超出教学大纲)实例化对象.如果您打算使用它的功能,那么您应该将它们作为静态使用它们来满足您的需求.确保该功能是公开的.例如:请参阅工作示例:http://codepad.org/VoYeyk8W

  9. 扩展另一个的PHP类如何继承私有函数?

    我试图扩展PHP类而不重写整个事情.这是一个例子:但是当我运行脚本时,我收到以下错误:似乎bar不继承私有函数setSomething().如何在不修改foo类的情况下修复此问题?bar正在继承该函数,但它无法调用它.这是私有方法的重点,只有声明类可以调用它们.

  10. PHP:从函数返回值并直接回显它?

    PHPHTML有没有办法让函数自动“回显”或“打印”返回的语句?就像我想做这个………没有“回声”吗?您可以使用特殊标签:或者,当然,您可以让您的函数回显值:

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部