Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FR] Support for response status code examples #176

Merged
merged 10 commits into from
Aug 2, 2022

Conversation

blindaa121
Copy link
Collaborator

@blindaa121 blindaa121 commented Jul 28, 2022

Description

This PR introduces added support for response status code examples. Users will now be able to toggle between the Response Schema and any provided examples via SchemaTabs.

  • Code Sample (CodeBlock component)
  • Ability to copy or wrap code text for better readability (CodeBlock component)
  • Status codes containing multiple examples can be selected through tabs (SchemaTabs component)

Motivation and Context

See #119

How Has This Been Tested?

So far tested with IoT API, which contains single status code examples and multiple status code examples. Will do further testing on other product API's that contain status code examples.

  • Code Security API

Screenshots (if appropriate)

Response Status Code examples provided

Screen.Recording.2022-08-01.at.4.58.52.PM.mov

Response Status Code examples not provided

image

Types of changes

  • New feature (non-breaking change which adds functionality)

Checklist

  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes if appropriate.
  • All new and existing tests passed.

@blindaa121 blindaa121 self-assigned this Jul 28, 2022
@github-actions
Copy link

github-actions bot commented Jul 28, 2022

Size Change: +62.8 kB (+2%)

Total Size: 3.5 MB

Filename Size Change
demo/build/assets/css/styles.********.css 96.2 kB +831 B (+1%)
demo/build/assets/js/006e727e.********.js 12.4 kB +800 B (+7%) 🔍
demo/build/assets/js/0d832478.********.js 25.9 kB +1.63 kB (+7%) 🔍
demo/build/assets/js/12693653.********.js 25.3 kB +1.63 kB (+7%) 🔍
demo/build/assets/js/1e6c5cae.********.js 27.3 kB +3.06 kB (+13%) ⚠️
demo/build/assets/js/3946f914.********.js 27.4 kB +3.02 kB (+12%) ⚠️
demo/build/assets/js/3e0d14e9.********.js 23.4 kB +1.62 kB (+7%) 🔍
demo/build/assets/js/40a238b6.********.js 25.3 kB +1.63 kB (+7%) 🔍
demo/build/assets/js/423cd203.********.js 12.5 kB +800 B (+7%) 🔍
demo/build/assets/js/466ac800.********.js 33.4 kB +3.01 kB (+10%) ⚠️
demo/build/assets/js/4964e910.********.js 24.8 kB +1.61 kB (+7%) 🔍
demo/build/assets/js/55a6d13f.********.js 12.3 kB +800 B (+7%) 🔍
demo/build/assets/js/66c76a57.********.js 27.4 kB +3.06 kB (+13%) ⚠️
demo/build/assets/js/68b61ac5.********.js 33.5 kB +3.05 kB (+10%) ⚠️
demo/build/assets/js/69a61f78.********.js 25.2 kB +1.61 kB (+7%) 🔍
demo/build/assets/js/73b594ee.********.js 27.2 kB +3.06 kB (+13%) ⚠️
demo/build/assets/js/77264a1a.********.js 27.2 kB +3.02 kB (+12%) ⚠️
demo/build/assets/js/7ed7dafe.********.js 25.8 kB +1.63 kB (+7%) 🔍
demo/build/assets/js/86c45737.********.js 23.8 kB +1.64 kB (+7%) 🔍
demo/build/assets/js/8961c7a6.********.js 23.4 kB +1.64 kB (+8%) 🔍
demo/build/assets/js/91696e06.********.js 27.5 kB +3.06 kB (+13%) ⚠️
demo/build/assets/js/97810f3c.********.js 24.8 kB +1.63 kB (+7%) 🔍
demo/build/assets/js/9b5caaf3.********.js 25.2 kB +1.63 kB (+7%) 🔍
demo/build/assets/js/9c42c0f3.********.js 23.6 kB -216 B (-1%)
demo/build/assets/js/aa2f1ec7.********.js 23.9 kB +1.62 kB (+7%) 🔍
demo/build/assets/js/ab6072f2.********.js 25.2 kB +1.61 kB (+7%) 🔍
demo/build/assets/js/ae7f40a3.********.js 33.6 kB +3.05 kB (+10%) ⚠️
demo/build/assets/js/b5c059ef.********.js 23.7 kB -216 B (-1%)
demo/build/assets/js/c65697f5.********.js 25.9 kB +1.61 kB (+7%) 🔍
demo/build/assets/js/cf07762b.********.js 23.9 kB +1.64 kB (+7%) 🔍
demo/build/assets/js/common.********.js 144 kB +3.34 kB (+2%)
demo/build/assets/js/dd696920.********.js 24.7 kB +1.63 kB (+7%) 🔍
demo/build/assets/js/e015ccf9.********.js 25.2 kB +1.63 kB (+7%) 🔍
demo/build/assets/js/eae14b71.********.js 23.6 kB -231 B (-1%)
demo/build/assets/js/f212caf7.********.js 23.3 kB +1.64 kB (+8%) 🔍
demo/build/assets/js/main.********.js 396 kB +40 B (0%)
ℹ️ View Unchanged
Filename Size Change
demo/.docusaurus/globalData.json 19.1 kB +16 B (0%)
demo/build/assets/js/05f64ae1.********.js 2.78 kB 0 B
demo/build/assets/js/06b64fc1.********.js 575 B 0 B
demo/build/assets/js/06e5f0f0.********.js 26.9 kB +9 B (0%)
demo/build/assets/js/081bfb0d.********.js 9.78 kB +9 B (0%)
demo/build/assets/js/09e07b87.********.js 2.97 kB 0 B
demo/build/assets/js/14eb3368.********.js 9.19 kB 0 B
demo/build/assets/js/1639936b.********.js 4.05 kB 0 B
demo/build/assets/js/16577668.********.js 387 B 0 B
demo/build/assets/js/177e86db.********.js 10.2 kB +9 B (0%)
demo/build/assets/js/18c41134.********.js 12.7 kB 0 B
demo/build/assets/js/19d75775.********.js 8.48 kB +9 B (0%)
demo/build/assets/js/1a8cc2a6.********.js 11.2 kB +9 B (0%)
demo/build/assets/js/1be78505.********.js 10.3 kB 0 B
demo/build/assets/js/1c54f54e.********.js 10.4 kB +9 B (0%)
demo/build/assets/js/1e4232ab.********.js 3.15 kB 0 B
demo/build/assets/js/1e6ff21d.********.js 10.3 kB +9 B (0%)
demo/build/assets/js/1f818248.********.js 10.9 kB +17 B (0%)
demo/build/assets/js/2c860537.********.js 6.93 kB +13 B (0%)
demo/build/assets/js/326c3861.********.js 9.59 kB 0 B
demo/build/assets/js/3893.********.js 1.07 kB 0 B
demo/build/assets/js/39d00f16.********.js 9.45 kB 0 B
demo/build/assets/js/41cd56a1.********.js 10 kB +9 B (0%)
demo/build/assets/js/46afcded.********.js 8.13 kB 0 B
demo/build/assets/js/46e5c6ac.********.js 6.66 kB 0 B
demo/build/assets/js/47abaca6.********.js 2.88 kB 0 B
demo/build/assets/js/49bd3d39.********.js 14.7 kB +1 B (0%)
demo/build/assets/js/4b891ed6.********.js 10.9 kB +9 B (0%)
demo/build/assets/js/4c5e977b.********.js 30.9 kB 0 B
demo/build/assets/js/533a09ca.********.js 2.48 kB 0 B
demo/build/assets/js/56717cba.********.js 2.96 kB 0 B
demo/build/assets/js/57f1a671.********.js 11 kB +9 B (0%)
demo/build/assets/js/58ff8b1e.********.js 20.7 kB +9 B (0%)
demo/build/assets/js/597ddc40.********.js 9.91 kB +9 B (0%)
demo/build/assets/js/5c868d36.********.js 3.24 kB 0 B
demo/build/assets/js/5fb917be.********.js 2.53 kB +9 B (0%)
demo/build/assets/js/63fc267d.********.js 11 kB +9 B (0%)
demo/build/assets/js/6429.********.js 1.29 MB 0 B
demo/build/assets/js/7ca3ae45.********.js 14.6 kB +1 B (0%)
demo/build/assets/js/822bd8ab.********.js 2.87 kB 0 B
demo/build/assets/js/85d3c400.********.js 2.88 kB 0 B
demo/build/assets/js/85ec4403.********.js 4.44 kB +9 B (0%)
demo/build/assets/js/86b273b1.********.js 9.84 kB +9 B (0%)
demo/build/assets/js/86c346b0.********.js 538 B 0 B
demo/build/assets/js/881db345.********.js 394 B 0 B
demo/build/assets/js/8ab9b16e.********.js 9.6 kB +9 B (0%)
demo/build/assets/js/8d4e78cd.********.js 2.81 kB 0 B
demo/build/assets/js/8f441c78.********.js 9.55 kB 0 B
demo/build/assets/js/93304a97.********.js 4.17 kB 0 B
demo/build/assets/js/935f2afb.********.js 32.2 kB +8 B (0%)
demo/build/assets/js/94589c06.********.js 16.4 kB -7 B (0%)
demo/build/assets/js/a40c6d71.********.js 8.58 kB +9 B (0%)
demo/build/assets/js/a5491aaa.********.js 400 B +8 B (+2%)
demo/build/assets/js/a6cd895f.********.js 20.5 kB +9 B (0%)
demo/build/assets/js/a728d93a.********.js 9.71 kB +9 B (0%)
demo/build/assets/js/ab09fd5c.********.js 20.6 kB +9 B (0%)
demo/build/assets/js/b4ebd305.********.js 14.5 kB +1 B (0%)
demo/build/assets/js/bead4b8e.********.js 3.03 kB 0 B
demo/build/assets/js/bf271e74.********.js 401 B +8 B (+2%)
demo/build/assets/js/c7a5be9f.********.js 9.93 kB +9 B (0%)
demo/build/assets/js/c7ded1cb.********.js 2.93 kB 0 B
demo/build/assets/js/d63c7029.********.js 2.9 kB 0 B
demo/build/assets/js/dff1c289.********.js 3.88 kB 0 B
demo/build/assets/js/e01f8d18.********.js 8.52 kB +9 B (0%)
demo/build/assets/js/e2ce9793.********.js 402 B +4 B (+1%)
demo/build/assets/js/e44a2883.********.js 4.53 kB 0 B
demo/build/assets/js/e5e5340c.********.js 2.46 kB +9 B (0%)
demo/build/assets/js/e8b309fb.********.js 577 B 0 B
demo/build/assets/js/eaf4471e.********.js 11.1 kB +9 B (0%)
demo/build/assets/js/ecc39b49.********.js 172 B 0 B
demo/build/assets/js/ee308fa3.********.js 10.1 kB +9 B (0%)
demo/build/assets/js/f4486b6b.********.js 11.3 kB +9 B (0%)
demo/build/assets/js/f55d3e7a.********.js 2.7 kB 0 B
demo/build/assets/js/f65290a6.********.js 9.73 kB +9 B (0%)
demo/build/assets/js/f8409a7e.********.js 29 kB 0 B
demo/build/assets/js/f84e10c2.********.js 16.6 kB -7 B (0%)
demo/build/assets/js/fe97f0d1.********.js 16.5 kB -7 B (0%)
demo/build/assets/js/runtime~main.********.js 8.67 kB 0 B
demo/build/index.html 79.9 kB 0 B

compressed-size-action

@github-actions
Copy link

github-actions bot commented Jul 28, 2022

Visit the preview URL for this PR (updated for commit 5164f99):

https://docusaurus-openapi-36b86--pr176-6w9usouk.web.app

(expires Wed, 31 Aug 2022 23:52:25 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

@blindaa121 blindaa121 changed the title [FR] Support for Response Examples [FR] Support for response status code examples Jul 29, 2022
@blindaa121 blindaa121 added enhancement New feature or request and removed DO NOT MERGE labels Jul 31, 2022
@blindaa121 blindaa121 requested a review from sserrata July 31, 2022 20:04
@blindaa121
Copy link
Collaborator Author

blindaa121 commented Aug 2, 2022

Latest commits contains the following updates:

  1. Schema and Examples are rendered at the same level via SchemaTabs
  2. If there are no examples provided, then the response schema renders as expected (no tabs)
  3. Camel-casing to title casing format for tab labels (using the examples key)

@sserrata

@sserrata
Copy link
Member

sserrata commented Aug 2, 2022

Looks amazing!

(Also tested with PANOS REST API.)

Screen.Recording.2022-08-02.at.8.20.49.AM.mov

Copy link
Member

@sserrata sserrata left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🦝

@sserrata sserrata merged commit 4570524 into main Aug 2, 2022
@sserrata sserrata deleted the response-samples-support branch August 2, 2022 12:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants