springboot RestController传参 demo实战项目

简介

前后端分离下,前后端通讯的各种方法

Git地址

https://gitee.com/wqrzsy/lp-demo/tree/master/lp-spring-web

更多demo请关注

springboot demo实战项目
java 脑洞
java 面试宝典
开源工具

项目分析

1. 测试Post提交实体请求,后端要用@RequestBody接收

前端

<form id='test_form' action='testPostForm' method='post' onsubmit="return checkForm('test_form')">
    <input type='text' name='firstName' value=''/>
    <input type='password' id='input_pwd' name='lastName' value=''/>
    <input type='hidden' name='pwd' id='md5_pwd' value=''/>
    <button type='submit'>提交</button>
</form>

<script>
    $(function () {
        var person = {firstname: "Bill", lastname: "Gates"};
        var options = {
            type: 'post',
            url: "/testPostEntity",
            data: JSON.stringify(person),//取得person对象的string
            contentType: 'application/json',
            success: function (result) {
                alert(result.username);
            }
        };

        $("#btnPostEntity").click(function () {
            $.ajax(options);
        });

    });
</script>

上传的content


image.png

后端

    @PostMapping("testPostEntity")
    @ApiOperation(value = "测试", notes = "测试")
    @ResponseBody
    public Map<String, String> testPostEntity(@RequestBody User user) {
        Map<String, String> map = new HashMap<String, String>();
        map.put("username", user.getFirstname() + " " + user.getLastname());
        return map;
    }

2. 测试Post提交表单请求,后端要用@RequestParam接收

前端

<form id='test_form' action='testPostForm' method='post' onsubmit="return checkForm('test_form')">
    <input type='text' name='firstName' value=''/>
    <input type='password' id='input_pwd' name='lastName' value=''/>
    <input type='hidden' name='pwd' id='md5_pwd' value=''/>
    <button type='submit'>提交</button>
</form>

上传的content

image.png

后端

    @PostMapping("testPostForm")
    @ApiOperation(value = "测试", notes = "测试")
    @ResponseBody
    public String testPostForm(@RequestParam(value = "firstName") String firstName, @RequestParam(value = "lastName") String lastName) {
        return firstName + ":" + lastName;
    }

3. 测试Post提交表单请求,表单包含单文件,用MultipartFile 接收

前端

<form id='test_form' action='testPostForm' method='post' onsubmit="return checkForm('test_form')">
    <input type='text' name='firstName' value=''/>
    <input type='password' id='input_pwd' name='lastName' value=''/>
    <input type='hidden' name='pwd' id='md5_pwd' value=''/>
    <button type='submit'>提交</button>
</form>

上传的content

image.png

后端

    @PostMapping("testPostFileForm")
    @ApiOperation(value = "测试", notes = "测试")
    public String testPostFileForm(
        @RequestParam(value = "firstName") String firstName,
        @RequestParam(value = "lastName") String lastName,
        @RequestParam(value = "uploadFile") MultipartFile uploadFile
    ) {
        return firstName + ":" + lastName;
    }

4. 测试Post提交表单请求,表单包含多个文件

前端

<form id='test_form' action='testPostForm' method='post' onsubmit="return checkForm('test_form')">
    <input type='text' name='firstName' value=''/>
    <input type='password' id='input_pwd' name='lastName' value=''/>
    <input type='hidden' name='pwd' id='md5_pwd' value=''/>
    <button type='submit'>提交</button>
</form>

上传的content


image.png

后端

    @PostMapping("/multiUpload")
    @ResponseBody
    public String multiUpload(HttpServletRequest request) {
        List<MultipartFile> files = ((MultipartHttpServletRequest) request).getFiles("file");
        for (int i = 0; i < files.size(); i++) {
            MultipartFile file = files.get(i);
            if (file.isEmpty()) {
                return "上传第" + (i++) + "个文件失败";
            }
            String fileName = file.getOriginalFilename();
            System.out.println(fileName);
        }
        return "上传成功";
    }

demo项目导入

参考: https://www.jianshu.com/p/cd0275a2f5fb

如果这篇文章对你有帮助请给个star


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容