• @RequestBody的理解


    What you are asking for is fundamentally wrong. POST requests sends data in a body payload, which is mapped via @RequestBody@RequestParam is used to map data through the URL parameters such as /url?start=foo. What you are trying to do is use @RequestParam to do the job of @RequestBody.

    Alternative solutions for REST controllers

    • Introduce a DTO class. It is the most preferred and clean method.
    • If you really want to avoid creating a class, you can use @RequestBody Map<String, String> payload. Be sure to include 'Content-Type': 'application/json' in your request header.
    • If you really want to use @RequestParam, use a GET request instead and send your data via URL parameters.

    Alternative solutions for MVC controllers

    • Introduce a DTO class and use it with annotation @ModelAttribute.
    • If you transform the form data into JSON, you can use @RequestBody Map<String, String> payload. To do this, please see this answer.

    It is not possible to map form data encoded data directly to a Map<String, String>.

  • 相关阅读:
    排序与查找
    gdb
    编码风格
    数组
    结构体
    循环语句
    深入理解函数
    分支语句
    简单函数
    解决国内NPM安装依赖速度慢问题
  • 原文地址:https://www.cnblogs.com/sidesky/p/15185929.html
Copyright © 2020-2023  润新知