zoukankan      html  css  js  c++  java
  • SpringCloud中服务消费者接受前台传参问题(报错415)

    服务消费者clientFeign,接受前台form表单post提交的数据,虽然传递参数是对象类型,但是后台不能添加@RequestBody注解!!!,form表单提交的数据不是json格式!!!

    1. 前端

    <form class="layui-form" action="/menu/save" method="post">
                <div class="layui-form-item">
                    <label class="layui-form-label">菜品:</label>
                    <div class="layui-inline">
    .....

    2.服务消费者 ClientFeign 控制层接收数据

    PostMapping(value = "/save")
        public String save(Menu menu){
            menuFeign.save(menu);
            return "redirect:/menu/redirect/menu_manage";
        }

    错误格式:

    PostMapping(value = "/save")
        public String save(@RequestBody Menu menu){
            menuFeign.save(menu);
            return "redirect:/menu/redirect/menu_manage";
        }

    这里介绍下@RequestBody 

    使用@RequestBody注解时,是用于接收Content-Type为application/json类型的请求,数据类型是JSON:{"aaa":"111","bbb":"222"}

    不使用@RequestBody注解时,可以接收Content-Type为application/x-www-form-urlencoded类型的请求所提交的数据,数据格式:aaa=111&bbb=222  ,form表单提交以及jQuery的.post()方法所发送的请求就是这种类型。

    很多时候,我们用 Ajax 提交数据时,也是使用这种方式。例如 JQuery 和 QWrap 的 Ajax,Content-Type 默认值都是「application/x-www-form-urlencoded;charset=utf-8」。

    所以后台添加@RequestBody接收前台的form表单数据会报415错,具体如下:

    There was an unexpected error (type=Unsupported Media Type, status=415).
    Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported

     

    参考链接:

    SpringCloud之Feign调用服务:https://blog.csdn.net/uotail/article/details/84673347

    SpringCloud供应者消费者模式传参数:https://blog.csdn.net/weixin_41595700/article/details/86508352

    参考链接:

    https://blog.csdn.net/f45056231p/article/details/84972881

  • 相关阅读:
    加入创业公司有什么利弊
    Find Minimum in Rotated Sorted Array II
    Search in Rotated Sorted Array II
    Search in Rotated Sorted Array
    Find Minimum in Rotated Sorted Array
    Remove Duplicates from Sorted Array
    Spiral Matrix
    Spiral Matrix II
    Symmetric Tree
    Rotate Image
  • 原文地址:https://www.cnblogs.com/yh-simon/p/12264483.html
Copyright © 2011-2022 走看看