Skip to content

Commit e84a323

Browse files
skip examples w/o bodies when generating openapi examples
1 parent a13a9b0 commit e84a323

File tree

5 files changed

+668
-263
lines changed

5 files changed

+668
-263
lines changed

compiler-rs/clients_schema_to_openapi/src/paths.rs

Lines changed: 10 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -148,14 +148,16 @@ pub fn add_endpoint(
148148
// }
149149
};
150150

151-
let openapi_example = Example {
152-
value: example,
153-
description: schema_example.description.clone(),
154-
summary: schema_example.summary.clone(),
155-
external_value: None,
156-
extensions: Default::default(),
157-
};
158-
openapi_examples.insert(name.clone(), ReferenceOr::Item(openapi_example));
151+
if example.is_some() {
152+
let openapi_example = Example {
153+
value: example,
154+
description: schema_example.description.clone(),
155+
summary: schema_example.summary.clone(),
156+
external_value: None,
157+
extensions: Default::default(),
158+
};
159+
openapi_examples.insert(name.clone(), ReferenceOr::Item(openapi_example));
160+
}
159161
}
160162
openapi_examples
161163
}
@@ -340,21 +342,6 @@ pub fn add_endpoint(
340342
}
341343
}
342344
}
343-
if code_samples.is_empty() {
344-
// if there are no example requests we look for example responses
345-
// this can only happen for examples that do not have a request body
346-
if let Some(examples) = response_def.examples.clone() {
347-
if let Some((_, example)) = examples.first() {
348-
let request_line = example.method_request.clone().unwrap_or(String::from(""));
349-
if !request_line.is_empty() {
350-
code_samples.push(serde_json::json!({
351-
"lang": "Console",
352-
"source": request_line + "\n",
353-
}));
354-
}
355-
}
356-
}
357-
}
358345
if !code_samples.is_empty() {
359346
extensions.insert("x-codeSamples".to_string(), serde_json::json!(code_samples));
360347
}
Binary file not shown.

output/openapi/elasticsearch-openapi.json

Lines changed: 13 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

output/openapi/elasticsearch-serverless-openapi.json

Lines changed: 10 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)