openapi_nexus_core/data/
api_method_data.rs

1//! API method data with raw OpenAPI types
2
3use serde::{Deserialize, Serialize};
4use utoipa::openapi::RefOr;
5use utoipa::openapi::request_body::RequestBody;
6use utoipa::openapi::schema::Schema;
7
8use super::parameter_info::ParameterInfo;
9use crate::serde::http_method;
10
11/// API method data with raw OpenAPI types
12#[derive(Clone, Serialize, Deserialize)]
13pub struct ApiMethodData {
14    pub method_name: String,
15    #[serde(with = "http_method")]
16    pub http_method: http::Method,
17    pub path: String,
18    pub path_params: Vec<ParameterInfo>,
19    pub query_params: Vec<ParameterInfo>,
20    pub header_params: Vec<ParameterInfo>,
21    pub request_body: Option<RequestBody>,
22    pub return_type: Option<RefOr<Schema>>,
23    pub has_auth: bool,
24    pub has_error_handling: bool,
25}