Home > Java > javaTutorial > body text

What is the parameter passing specification for Java axios and spring front-end and back-end separation?

PHPz
Release: 2023-05-03 21:55:06
forward
1157 people have browsed it

1. The axios parameter transfer method corresponding to the @RequestParam annotation

Take the following Spring java code as an example. The interface uses the POST protocol, and the parameters that need to be accepted are tsCode, indexCols, and table. For this Spring HTTP interface, how should axios pass parameters? How many methods are there? Let’s introduce them one by one.

@PostMapping("/line")
public List<? extends BaseEntity> commonEChart(@RequestParam String tsCode,
                                     @RequestParam String indexCols,
                                     @RequestParam String table){
Copy after login

1.1.params parameter passing (recommended)

Use the params of the axios instance to pass parameters, the params parameters will be formatted into the x-www-form-urlencoded format, and then If the end parameters correspond one to one, the parameter transfer can be successful. This is also the method of passing parameters that I recommend to everyone!

return request({
    url: &#39;/chart/line&#39;,
    method: &#39;post&#39;,
    params: {   //注意这里的key是params
        tsCode,
        indexCols,
        table
    }
})
Copy after login

1.2.FormData parameter passing

You can also use the FormData object of js for parameter formatting, and you can also correctly use the @RequestParam annotation on the Spring backend for parameters. take over.

let params = new FormData();
params.append(&#39;tsCode&#39;, tsCode);
params.append(&#39;indexCols&#39;, indexCols);
params.append(&#39;table&#39;, table);
return request({
    url: &#39;/chart/line&#39;,
    method: &#39;post&#39;,
    data: params   //注意这里的key是data
})
Copy after login

1.3.qs.stringfy parameter passing

You can also use qs.stringfy for parameter formatting, which can also be used correctly in the Spring backend@ RequestParam annotation receives parameters.

import qs from "qs";

return request({
    url: &#39;/chart/line&#39;,
    method: &#39;post&#39;,
    data: qs.stringify({    //注意这里的key是data
        tsCode,
        indexCols,
        table
    })
})
Copy after login

It should be noted that using this method, you need to manually set the header (Content-Type)

const service = axios.create({
    headers: {
        "Content-Type": "application/x-www-form-urlencoded"
    }
});
Copy after login

2. @RequestBody’s axios parameter passing method

java code part As shown below, the DemoModel class is an entity class and contains three string member variables named tsCode, indexCols, and table. The received JSON format parameters will automatically assign values ​​to the member variables of the demo object.

@PostMapping("/line")
public List<? extends BaseEntity> commonEChart(@RequestBody DemoModel demo){
Copy after login

@RequestBody Annotation, receiving data in JSON format by default. In axios, the default data parameter passing will use JSON data format by default, so no additional special processing is required.

return request({
    url: &#39;/chart/line&#39;,
    method: &#39;post&#39;,
    data: {    //注意这里的key是data
        tsCode,
        indexCols,
        table
    }
})
Copy after login

The above is the detailed content of What is the parameter passing specification for Java axios and spring front-end and back-end separation?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:yisu.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!