> Java > java지도 시간 > 본문

Java Axios 및 Spring 프론트엔드와 백엔드 분리를 위한 매개변수 전달 사양은 무엇입니까?

PHPz
풀어 주다: 2023-05-03 21:55:06
앞으로
1202명이 탐색했습니다.

1. @RequestParam 주석에 해당하는 axios 매개변수 전송 방법

다음 Spring Java 코드를 예로 들어 보겠습니다. 인터페이스는 POST 프로토콜을 사용하며 허용해야 하는 매개변수는 tsCode, indexCols 및 table입니다. 이 Spring HTTP 인터페이스의 경우 axios는 어떻게 매개변수를 전달해야 합니까? 방법은 몇 개나 있나요? 하나씩 소개해보자.

@PostMapping("/line")
public List<? extends BaseEntity> commonEChart(@RequestParam String tsCode,
                                     @RequestParam String indexCols,
                                     @RequestParam String table){
로그인 후 복사

1.1.params 매개변수 전달(권장)

axios 인스턴스의 매개변수를 사용하여 매개변수를 전송하면 params 매개변수는 백엔드 매개변수에 해당하는 x-www-form-urlencoded 형식으로 포맷됩니다. 매개변수가 하나씩 성공적으로 전송되었습니다. 이것은 제가 모두에게 추천하는 매개변수 전달 방법이기도 합니다!

return request({
    url: &#39;/chart/line&#39;,
    method: &#39;post&#39;,
    params: {   //注意这里的key是params
        tsCode,
        indexCols,
        table
    }
})
로그인 후 복사

1.2.FormData 매개변수 전달

매개변수 형식화를 위해 js의 FormData 객체를 사용할 수도 있고, 매개변수를 수신하기 위해 Spring 백엔드에서 @RequestParam 주석을 올바르게 사용할 수도 있습니다. @RequestParam注解进行参数接收。

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
})
로그인 후 복사

1.3.qs.stringfy传参

还可以使用qs.stringfy进行参数格式化,同样可以在Spring后端正确的使用@RequestParam注解进行参数接收。

import qs from "qs";

return request({
    url: &#39;/chart/line&#39;,
    method: &#39;post&#39;,
    data: qs.stringify({    //注意这里的key是data
        tsCode,
        indexCols,
        table
    })
})
로그인 후 복사

需要注意的是使用这种方法,需要手动设置header(Content-Type)

const service = axios.create({
    headers: {
        "Content-Type": "application/x-www-form-urlencoded"
    }
});
로그인 후 복사

二、@RequestBody的axios传参方法

java代码部分如下所示,DemoModel类是一个实体类,包含名称tsCode,indexCols,table三个字符串成员变量。接收到的JSON格式参数会自动为demo对象的成员变量赋值。

@PostMapping("/line")
public List<? extends BaseEntity> commonEChart(@RequestBody DemoModel demo){
로그인 후 복사

@RequestBody

return request({
    url: &#39;/chart/line&#39;,
    method: &#39;post&#39;,
    data: {    //注意这里的key是data
        tsCode,
        indexCols,
        table
    }
})
로그인 후 복사
1.3.qs.stringfy 매개변수 전달🎜🎜 매개변수 형식 지정에 qs.stringfy를 사용할 수도 있고 Spring에서 @RequestParam 주석을 올바르게 사용할 수도 있습니다. 백엔드. 매개변수가 수신되었습니다. 🎜rrreee🎜이 방법을 사용하려면 헤더(Content-Type)를 수동으로 설정해야 합니다.🎜rrreee🎜2.@RequestBody의 axios 매개변수 전달 방법🎜🎜DemoModel 클래스는 다음과 같습니다. tsCode, indexCols 및 table이라는 세 가지 문자열 멤버 변수가 있습니다. 수신된 JSON 형식 매개변수는 데모 개체의 멤버 변수에 자동으로 값이 할당됩니다. 🎜rrreee🎜@RequestBody 주석은 기본적으로 JSON 형식으로 데이터를 수신합니다. Axios에서는 기본 데이터 매개변수 전달이 기본적으로 JSON 데이터 형식을 사용하므로 추가적인 특수 처리가 필요하지 않습니다. 🎜아아아아

위 내용은 Java Axios 및 Spring 프론트엔드와 백엔드 분리를 위한 매개변수 전달 사양은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!