Primero, hablemos de la diferencia entre los tipos de datos de solicitud:
multipart/form-data: puede cargar archivos o pares clave-valor, que se convertirán en un mensaje al final.
x-www-form-urlencoded: solo se pueden cargar pares clave-valor, y los pares clave-valor están separados por & intervalos.
Raw corresponde a parámetros de entrada en cualquier formato, y puede cargar [texto] en cualquier formato, como texto, json, xml, html, etc.
1. Método de procesamiento del tipo de solicitud de ruta
API de interfaz:
import request from '@/utils/request';
//查询气象站历史温度
export interface MeteorologicalInquiryParams {
deviceId: String;
begin?: Number;//?代表可选
end?: Number;
}
export const getWeatherInfoHistory = ({
deviceId, begin, end }: MeteorologicalInquiryParams) => {
return request(
`/api-telematics-pc/v1/agriconditionmonitor/getWeatherInfoHistory/${
deviceId}/${
begin}/${
end}`,
{
method: 'get'
}
);
};
Procesamiento comercial:
import {
getWeatherInfoHistory } from './service';
import type {
MeteorologicalInquiryParams } from './service';
useEffect(() => {
if (startdate && enddate) {
let params: MeteorologicalInquiryParams = {
deviceId: deviceid,
begin: Number(startdate),
end: Number(enddate)
};
getWeatherInfoHistory(params).then((res) => {
.......
});
}
}, [daysrange, startdate, enddate]);
2. El método de procesamiento del tipo de solicitud de consulta
Interfaz api:
import request from '@/utils/request';
//获取设备类型
export const getCategoryMenuInfo = (params: any) => {
return request(`/api-telematics-pc/v1/farmdevicemanager/getCategoryMenuInfo`, {
method: 'get',
params
});
};
Procesamiento comercial: cuántos parámetros se necesitan para enumerar cuántos
let parentCategoryName='农情设备'
let result = await getCategoryMenuInfo({
parentCategoryName});
3. El método de procesamiento de
la interfaz API del tipo de solicitud del cuerpo:
//新增当前农情设备信息
export const addDeviceInfo = (body: any) => {
return request(`/api-telematics-pc/v1/farmdevicemanager/addDeviceInfo`, {
method: 'post',
body
});
};
1) Listar todos los parámetros {}
2) Un objeto envuelve todos los nombres de parámetros, operador de expansión...objeto
3) Combinación y coincidencia
addDeviceInfo({
companyId,
farmCode,
categoryName,
deviceName,
id,
imageUrls,
landCode,
latitude,
longitude,
serialNum,
statusValue,
modelNum,
parentId,
producer
}).then((res) => {
}
Nota: Si el tipo de datos solicitado es multiparte/datos de formulario, los datos de formulario deben usarse para el procesamiento empresarial.