Skip to content

Commit 5f0408b

Browse files
skip examples w/o bodies when generating openapi examples
1 parent 55356e6 commit 5f0408b

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
}
@@ -279,21 +281,6 @@ pub fn add_endpoint(
279281
}
280282
}
281283
}
282-
if code_samples.is_empty() {
283-
// if there are no example requests we look for example responses
284-
// this can only happen for examples that do not have a request body
285-
if let Some(examples) = response_def.examples.clone() {
286-
if let Some((_, example)) = examples.first() {
287-
let request_line = example.method_request.clone().unwrap_or(String::from(""));
288-
if !request_line.is_empty() {
289-
code_samples.push(serde_json::json!({
290-
"lang": "Console",
291-
"source": request_line + "\n",
292-
}));
293-
}
294-
}
295-
}
296-
}
297284
if !code_samples.is_empty() {
298285
extensions.insert("x-codeSamples".to_string(), serde_json::json!(code_samples));
299286
}
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)