Skip to main content

openapi_nexus_core/data/
api_method_data.rs

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