一表总结前端axios传参与后端springboot接收

方法 参数形式 后端 示例 注意
get,delete url中拼接(RestFul风格) @PathVariable

url: '/test'+ ‘/’+ name +‘/’+ age,

@GetMapping("/test/{name}/{age}")
    public Result find(
            @PathVariable("name") String name,
            @PathVariable("age") int age) 

保证拼接到请求中有"/"
get,delete
Params
@RequestParam

url: '/test',

method: 'get',

params: { name, age }

 @GetMapping("/test")
    public Result find(
            @RequestParam("name") String name,
            @RequestParam("age") int age) 

post,put

application/json

@RequestBody
postJson() {
    let config = {
        headers: {'Content-Type': "multipart/json, charset=UTF-8"}
    };
    let data = {
        fileName: '我爱你中国'
    };
    this.$axios
    .post('/api/file/testconttype', data, config);
}
 
要有对应的实体类
post,put

multipart/form-data

@RequestParam

postFormdata() {
    let config = { 
        headers: {'Content-Type': "multipart/form-data, charset=UTF-8"}
    };
    // formdata对象
    let data = new FormData();

    data.append('fileName', '我爱你中国')

    this.$axios
    .post('/api/file/testconttype', data)
}
@RequestMapping("/testconttype")
public String test(@RequestParam String fileName) {
    logger.info(fileName);
    String s = new String(fileName.getBytes(StandardCharsets.UTF_8), StandardCharsets.UTF_8);
    logger.info(s);
    return s;
}
 

前端参数对象必须是FormData类型,属性需要逐个append进去。

可以传递单个参数。

你可能感兴趣的:(前端)