1.多参数表单类型传输

    @PostMapping("/service/system/advertiser/save")Response<Boolean> saveAdvertiser(@RequestParam("username") String username,@RequestParam("nickname") String nickname,@RequestParam("type") Integer type,@RequestParam("password") String password);

注:这种传参方式@RequestParam注解及其value值必须要,而且其实现方法的参数名字必须和注解中的value值一样,否则就要在实现方法中也要加@RequestParam注解及其value值。

2.通过JSON传输

    @PostMapping("/service/system/advertiser/selectOne")Response<Advertiser> selectOne(@RequestBody Advertiser advertiser);
    @Overridepublic Response<Advertiser> selectOne(@RequestBody Advertiser advertiser) {return new Response<Advertiser>().ok().data(advertiserService.selectOne(advertiser));}

注:这种传参方式必须要在其实现方法中也要打上@RequestBody注解,否则无法接收到参数。

3.Date类型参数的时差

这是我使用第一种方式传参时出现的问题,平台传的参数是上面的,但是服务接收到的参数是下面的,这是SpringCloud Feign传Date类型参数的时差导致的。

使用第二种方式将参数封装在对象中,通过JSON传参就不会出现时差。

如果真要用第一种方式的话,有两种解决方法:

a.当发送时间类型时,直接用String发送

b.Feign客户端实现FeignFormatterRegistrar接口自定义DateFormatRegister

@Component
    public class DateFormatRegister implements FeignFormatterRegistrar{

public DateFormatRegister(){
        }

@Override
        public void registerFormatters(FormatterRegistry registry) {
        registry.addConverter(Date.class, String.class, new Date2StringConverter()); 
        }

private class Date2StringConverter implements Converter<Date,String>{

@Override
            public String convert(Date source) {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            return sdf.format(source);
            }

}
    }

provider增加相应的解析器

@Configuration
    public class WebConfigBeans {
        @Autowired
        private RequestMappingHandlerAdapter handlerAdapter;

/**
        * 增加字符串转日期的功能
        */
        @PostConstruct
        public void initEditableValidation() {
            ConfigurableWebBindingInitializer initializer = (ConfigurableWebBindingInitializer) handlerAdapter
                        .getWebBindingInitializer();
            if (initializer.getConversionService() != null) {
                GenericConversionService genericConversionService = (GenericConversionService) initializer
                            .getConversionService();
                genericConversionService.addConverter(String.class, Date.class, new String2DateConverter());
            }
        }
    }

b方法转载自 https://blog.csdn.net/u014747616/article/details/77855224本人未实际操作过,供参考

SpringCloud Feign 传参问题及传输Date类型参数的时差相关推荐

  1. java feign同时传对象和其他参数_关于Spirng Cloud的Feign传参问题:

    Feign传参注意: 使用Feign客户端组件来调用微服务,经常出现参数传不过去变成null的问题,网上查了一下发现feign在参数上的使用还是有一定的限制的,主要是要注意: 1. 当参数比较复杂时, ...

  2. 和feign的区别_Feign的传参研究

    最近在将一个springbbot分布式SSO工程改造成基于springcloud的微服务工程 .在Feign端消费服务的时候传参数时候出现了一些问题,然后查了些资料,自己总结了下.特意记录下. 关于F ...

  3. JS一起学05:Date对象、封闭空间、函数传参和封装、获取非行间样式、字符串操作

    一.Date对象 1. 获取 oDate.getFullYear() 获取年份 oDate.getMonth()+1  获取月份 0-11----->1-12 oDate.getDate() 获 ...

  4. springboot前端传参date类型后台处理方式

    springboot前端传参date类型后台处理方式 先说结论:建议大家直接使用@JsonFormat,原因如下: 1.针对json格式:在配置文件中加以下配置 spring.jackson.date ...

  5. Angular使用@Input和@Output实现父子组件互相传参(类似Vue的props和this.emit)

    app.component.html <app-in-out [in]='"传输进入"' (out)="out($event)" ></app ...

  6. delphi中的函数传参如何传枚举参数_shell脚本的函数介绍使用和工作常用案例。建议收藏...

    #前言:今天我们来聊聊shell脚本中的函数知识,看一下函数的优势,执行过程和相关的使用案例. #简介 1.函数也具有别名类似的功能 2.函数是把程序里多次调用相同的代码部分定义成一份,然后给这份代码 ...

  7. Silve37.Silverlight和ASP.NET相互传参的两种常用方式(QueryString,Cookie)

    在本节中将讲述Silverlight和ASP.NET页面的相互传参的两种常用方式:Cookie和QueryString.首先我们新建一个名 为SLConnectASP.NET的Silverlight应 ...

  8. 【SpringMVC 之应用篇】 2_SpringMVC 的传参问题

    SpringMVC 的传参问题 1. SpringMVC 简单的传参问题 在浏览器的前端页面,模拟传入 username 和 password 两个参数 <a href="/test/ ...

  9. formdata传参java用对象怎么接受_Java基础4

    Java方法详解 何谓方法 方法的定义及调用 方法的重载 命令行传参 可变参数 递归 何谓方法? System.out.println(),那么它是什么呢? //System"类" ...

最新文章

  1. 最小系统必须安装的组件(仅做参考)
  2. Java代码生成随机验证码、验证数
  3. MATLAB从入门到精通系列之MATLAB维度获取size()函数详解
  4. halcon算子盘点:Chapter 18:元组Tuple
  5. Redis的快照与AOF
  6. thinkphp5(改变html中的变量、赋值和替换)
  7. 事务传播特性和隔离级别
  8. 9 CO配置-控制-成本中心会计-在成本控制范围激活成本中心会计核算
  9. 提升 Linux 终端命令敲写效率的快捷键参考
  10. 新兴IT企业特斯拉(五)——中国救命
  11. 使用docker搭建db2数据库
  12. 29.正向和负向Lookahead
  13. Linux安全合规性检查和加固
  14. Mkdocs部署静态网页至GitHub pages配置说明(mkdocs.yml)
  15. Mysql索引:图文并茂,深入探究索引的原理和使用
  16. java ImageIO处理
  17. 给计算机系学生的建议
  18. ajax拒绝访问,带CORS的IE9 jQuery AJAX返回“访问被拒绝”
  19. 重温Scrum精髓 - Scrum的核心到底是什么
  20. K3 WISE 12.3 中间层在虚拟机中注册

热门文章

  1. 【S0018】【素材】工笔画免扣PNG素材强悍!黑金系企业展板+招聘海报大集合
  2. 激光雷达建图之cartographer建图
  3. linux基础——进程的退出及资源回收
  4. 股份有限公司注册资金最少是多少
  5. Java中transient关键字的详细总结
  6. 管理者必须卓有成效(卓有成效的管理者)
  7. 十七届文博会闭幕,中兴通讯5G助推智慧广电新发展
  8. mysql 一千张表查询_【求大神】现在有1000个string与一个MYSQL字典,查询这1000个string在MYSQL中的id并输出结果...
  9. 走近 WebAssembly 之调试大法
  10. PBAP协议 简单介绍