有个需求是这样:
1、开发个webservice服务端的接口
2、因为需要传入的参数过多,因此想到用map来解决。把需要的参数属性名定义为map的key,而value才是我需要的值。比如
正常情况是这样定义: public void method(String name,String password);
但是我现在要这样定义: public void method(Map<String,String> parm);
此map参数的key我只能允许客户定义为name,password.而value当然可以是任意String。
3、基于此最好是用枚举来定义:public enum MemberDetail {
name,password
} 因此我需要的接口就定义为
public void method(Map<MemberDetail ,String> parm);
但是这样出问题了。。测试的时候发现客户端传入的map参数的key完全没有被枚举给控制。我要怎么才能使客户只能穿服务端定义的枚举类型呢?
1、开发个webservice服务端的接口
2、因为需要传入的参数过多,因此想到用map来解决。把需要的参数属性名定义为map的key,而value才是我需要的值。比如
正常情况是这样定义: public void method(String name,String password);
但是我现在要这样定义: public void method(Map<String,String> parm);
此map参数的key我只能允许客户定义为name,password.而value当然可以是任意String。
3、基于此最好是用枚举来定义:public enum MemberDetail {
name,password
} 因此我需要的接口就定义为
public void method(Map<MemberDetail ,String> parm);
但是这样出问题了。。测试的时候发现客户端传入的map参数的key完全没有被枚举给控制。我要怎么才能使客户只能穿服务端定义的枚举类型呢?
解决方案 »
- Struts2的启动异常
- java HTTP POST返回问题
- j2ee项目怎么加密?求各位大神支个招!
- 请问 jre 和 jdk 有什么区别啊。
- 货运配载软件
- struts2.0 + spring2.0 + hibernate3.1 + json 整合的问题 !
- struts2+spring2 事务问题 4天了找遍了internet也没有解决
- 关于ant的build.xml细节部分的一个小迷惑,希望大侠给予指点谢谢!
- 如何修改一个XML文件或者往XML文件中添加节点,请各位帮帮小弟啊!!!在线等(急)!
- Spring Boot pom.xml依赖包爆红 无法下载 求解决!!!
- sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)错误异常
- 后台调用前台的JavaScript代码的问题
所谓协议,肯定要定义一些标准值。
因为这里的key都是数据库对应的字段。需要insert进去。
并且字段很多,差不多有50来个,又有30来个字段是必须的。因此我只想到这个方法来控制了。我现在就是不知道我这样是否可行。
做成一个bean来传不是更清晰
完全可以实现。但是这样有个缺点,我不是用的hibernate,用的jdbc,这样我还是得去拼50来个字段。从代码上来说不是很完美哦。
不过谢谢你提供的思路,硬是没办法我就按你的来咯
反正是bean,里面的成员变量不就是你的数据库名-值对
反射出一个成员变量的名称,对sql里的同名字段赋值,一个循环就搞定了
由于绑定的方式比较多,建议去百度下资料,毕竟不常用,建议你还是拼成xml样式的string来做参数,通用,简单。