在weather_data的struct 中的id字段添加了skip的方法,使前端可以正常使用
This commit is contained in:
@@ -3,7 +3,7 @@ use serde::{Deserialize, Serialize};
|
|||||||
use sqlx::FromRow;
|
use sqlx::FromRow;
|
||||||
|
|
||||||
// 定义JWT载荷结构体
|
// 定义JWT载荷结构体
|
||||||
#[derive(Debug, Serialize, Deserialize)]
|
#[derive(Debug, Serialize, Deserialize, Clone)]
|
||||||
pub struct Claims {
|
pub struct Claims {
|
||||||
// 标准字段:过期时间(必须)
|
// 标准字段:过期时间(必须)
|
||||||
pub exp: i64, // 时间戳(秒)
|
pub exp: i64, // 时间戳(秒)
|
||||||
@@ -29,11 +29,6 @@ pub struct WeChatApiResponse {
|
|||||||
pub errmsg: Option<String>,
|
pub errmsg: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Serialize)]
|
|
||||||
pub struct OpenIdResponse {
|
|
||||||
pub openid: String,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug, Serialize)]
|
#[derive(Debug, Serialize)]
|
||||||
pub struct ErrorResponse {
|
pub struct ErrorResponse {
|
||||||
pub error: String,
|
pub error: String,
|
||||||
@@ -41,98 +36,134 @@ pub struct ErrorResponse {
|
|||||||
pub errmsg: Option<String>,
|
pub errmsg: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
// 天气数据结构体(已有)
|
// 天气数据结构体(修改后)
|
||||||
#[derive(Debug, Deserialize, Serialize)]
|
#[derive(Debug, Deserialize, Serialize, FromRow)] // 添加 FromRow 派生
|
||||||
pub struct WeatherData {
|
pub struct WeatherData {
|
||||||
|
// 添加 id 字段(数据库中应该有这个主键)
|
||||||
|
#[serde(skip_deserializing)] // 1. 反序列化时忽略该字段;
|
||||||
|
#[sqlx(rename = "id")] // 数据库表的 id 列(自增主键),查询映射时使用
|
||||||
|
pub id: i32,
|
||||||
|
|
||||||
#[serde(rename = "areaType")]
|
#[serde(rename = "areaType")]
|
||||||
|
#[sqlx(rename = "areatype")] // 数据库列名是小写下划线式
|
||||||
pub area_type: String,
|
pub area_type: String,
|
||||||
|
|
||||||
#[serde(rename = "assignmentnumber")]
|
#[serde(rename = "assignmentnumber")]
|
||||||
|
#[sqlx(rename = "assignmentnumber")]
|
||||||
pub assignment_number: String,
|
pub assignment_number: String,
|
||||||
|
|
||||||
#[serde(rename = "atmosphericStability")]
|
#[serde(rename = "atmosphericStability")]
|
||||||
|
#[sqlx(rename = "atmosphericstability")]
|
||||||
pub atmospheric_stability: String,
|
pub atmospheric_stability: String,
|
||||||
|
|
||||||
#[serde(rename = "averageWindDirection")]
|
#[serde(rename = "averageWindDirection")]
|
||||||
|
#[sqlx(rename = "averagewinddirection")]
|
||||||
pub average_wind_direction: f64,
|
pub average_wind_direction: f64,
|
||||||
|
|
||||||
#[serde(rename = "averageWindSpeed")]
|
#[serde(rename = "averageWindSpeed")]
|
||||||
|
#[sqlx(rename = "averagewindspeed")]
|
||||||
pub average_wind_speed: f64,
|
pub average_wind_speed: f64,
|
||||||
|
|
||||||
#[serde(rename = "calculatedwindspeed")]
|
#[serde(rename = "calculatedwindspeed")]
|
||||||
|
#[sqlx(rename = "calculatedwindspeed")]
|
||||||
pub calculated_wind_speed: f64,
|
pub calculated_wind_speed: f64,
|
||||||
|
|
||||||
#[serde(rename = "cloudIndex")]
|
#[serde(rename = "cloudIndex")]
|
||||||
|
#[sqlx(rename = "cloudindex")]
|
||||||
pub cloud_index: String,
|
pub cloud_index: String,
|
||||||
|
|
||||||
#[serde(rename = "convertedWindSpeed")]
|
#[serde(rename = "convertedWindSpeed")]
|
||||||
|
#[sqlx(rename = "convertedwindspeed")]
|
||||||
pub converted_wind_speed: f64,
|
pub converted_wind_speed: f64,
|
||||||
|
|
||||||
pub date: NaiveDate,
|
pub date: NaiveDate,
|
||||||
|
|
||||||
#[serde(rename = "daySinceJanFirst")]
|
#[serde(rename = "daySinceJanFirst")]
|
||||||
|
#[sqlx(rename = "daysincejanfirst")]
|
||||||
pub day_since_jan_first: i32,
|
pub day_since_jan_first: i32,
|
||||||
|
|
||||||
#[serde(rename = "hasMeasuredWindSpeed")]
|
#[serde(rename = "hasMeasuredWindSpeed")]
|
||||||
|
#[sqlx(rename = "hasmeasuredwindspeed")]
|
||||||
pub has_measured_wind_speed: bool,
|
pub has_measured_wind_speed: bool,
|
||||||
|
|
||||||
|
#[serde(rename = "hours")]
|
||||||
|
#[sqlx(rename = "hour")] // 数据库中是 hour 字段
|
||||||
pub hours: i32,
|
pub hours: i32,
|
||||||
|
|
||||||
#[serde(rename = "inspectiontype")]
|
#[serde(rename = "inspectiontype")]
|
||||||
|
#[sqlx(rename = "inspectiontype")]
|
||||||
pub inspection_type: String,
|
pub inspection_type: String,
|
||||||
|
|
||||||
pub latitude: f64,
|
pub latitude: f64,
|
||||||
pub longitude: f64,
|
pub longitude: f64,
|
||||||
|
|
||||||
#[serde(rename = "lowCloudiness")]
|
#[serde(rename = "lowCloudiness")]
|
||||||
|
#[sqlx(rename = "lowcloudiness")]
|
||||||
pub low_cloudiness: String,
|
pub low_cloudiness: String,
|
||||||
|
|
||||||
#[serde(rename = "measuredWindSpeed")]
|
#[serde(rename = "measuredWindSpeed")]
|
||||||
|
#[sqlx(rename = "measuredwindspeed")]
|
||||||
pub measured_wind_speed: f64,
|
pub measured_wind_speed: f64,
|
||||||
|
|
||||||
#[serde(rename = "measurementHeight")]
|
#[serde(rename = "measurementHeight")]
|
||||||
|
#[sqlx(rename = "measurementheight")]
|
||||||
pub measurement_height: f64,
|
pub measurement_height: f64,
|
||||||
|
|
||||||
|
#[serde(rename = "min")]
|
||||||
|
#[sqlx(rename = "min")]
|
||||||
pub min: i32,
|
pub min: i32,
|
||||||
|
|
||||||
pub openid: String,
|
pub openid: String,
|
||||||
|
|
||||||
#[serde(rename = "overallCloudiness")]
|
#[serde(rename = "overallCloudiness")]
|
||||||
|
#[sqlx(rename = "overallcloudiness")]
|
||||||
pub overall_cloudiness: String,
|
pub overall_cloudiness: String,
|
||||||
|
|
||||||
#[serde(rename = "overallSuitability")]
|
#[serde(rename = "overallSuitability")]
|
||||||
|
#[sqlx(rename = "overallsuitability")]
|
||||||
pub overall_suitability: String,
|
pub overall_suitability: String,
|
||||||
|
|
||||||
#[serde(rename = "pointWindSpeed")]
|
#[serde(rename = "pointWindSpeed")]
|
||||||
|
#[sqlx(rename = "pointwindspeed")]
|
||||||
pub point_wind_speed: f64,
|
pub point_wind_speed: f64,
|
||||||
|
|
||||||
#[serde(rename = "solarDeclination")]
|
#[serde(rename = "solarDeclination")]
|
||||||
|
#[sqlx(rename = "solardeclination")]
|
||||||
pub solar_declination: f64,
|
pub solar_declination: f64,
|
||||||
|
|
||||||
#[serde(rename = "solarRadiationLevel")]
|
#[serde(rename = "solarRadiationLevel")]
|
||||||
|
#[sqlx(rename = "solarradiationlevel")]
|
||||||
pub solar_radiation_level: f64,
|
pub solar_radiation_level: f64,
|
||||||
|
|
||||||
#[serde(rename = "suitabilityDegree")]
|
#[serde(rename = "suitabilityDegree")]
|
||||||
|
#[sqlx(rename = "suitabilitydegree")]
|
||||||
pub suitability_degree: String,
|
pub suitability_degree: String,
|
||||||
|
|
||||||
#[serde(rename = "sunAltitude")]
|
#[serde(rename = "sunAltitude")]
|
||||||
|
#[sqlx(rename = "sunaltitude")]
|
||||||
pub sun_altitude: f64,
|
pub sun_altitude: f64,
|
||||||
|
|
||||||
pub theta: f64,
|
pub theta: f64,
|
||||||
pub title: String,
|
pub title: String,
|
||||||
|
|
||||||
#[serde(rename = "windDirection")]
|
#[serde(rename = "windDirection")]
|
||||||
|
#[sqlx(rename = "winddirection")]
|
||||||
pub wind_direction: Vec<f64>,
|
pub wind_direction: Vec<f64>,
|
||||||
|
|
||||||
#[serde(rename = "windDirectionStandardDeviation")]
|
#[serde(rename = "windDirectionStandardDeviation")]
|
||||||
|
#[sqlx(rename = "winddirectionstandarddeviation")]
|
||||||
pub wind_direction_standard_deviation: f64,
|
pub wind_direction_standard_deviation: f64,
|
||||||
|
|
||||||
#[serde(rename = "windDirectionSuitability")]
|
#[serde(rename = "windDirectionSuitability")]
|
||||||
|
#[sqlx(rename = "winddirectionsuitability")]
|
||||||
pub wind_direction_suitability: String,
|
pub wind_direction_suitability: String,
|
||||||
|
|
||||||
#[serde(rename = "windSpeed")]
|
#[serde(rename = "windSpeed")]
|
||||||
|
#[sqlx(rename = "windspeed")]
|
||||||
pub wind_speed: Vec<f64>,
|
pub wind_speed: Vec<f64>,
|
||||||
|
|
||||||
#[serde(rename = "windSpeedSuitability")]
|
#[serde(rename = "windSpeedSuitability")]
|
||||||
|
#[sqlx(rename = "windspeedsuitability")]
|
||||||
pub wind_speed_suitability: String,
|
pub wind_speed_suitability: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user