απαιτήσεις: Το Scalar είναι αρκετά ισχυρό και μπορεί να δημιουργήσει αυτόματα κώδικα κλήσης HTTP σε διαφορετικές γλώσσες από την τεκμηρίωση API, χρησιμοποιώντας το Scalar αντί για το Swagger για την εμφάνιση της τεκμηρίωσης API.
Μετά την κυκλοφορία του .NET 9 ASP.NET η επίσημη ομάδα Core ανακοίνωσε ότι το Swashbuckle.AspNetCore (ένα έργο που παρέχει το εργαλείο Swagger για το ASP.NET Core API) θα αφαιρεθεί από το πρότυπο ASP.NET Core Web API. Αυτό σημαίνει ότι στο μέλλον, όταν δημιουργούμε έργα Web API, η τεκμηρίωση του Swagger API δεν θα δημιουργείται πλέον αυτόματα. Σήμερα, λοιπόν, ας δοκιμάσουμε να χρησιμοποιήσουμε το Scalar για διαδραστική τεκμηρίωση API στο έργο μας EasySQLite .NET 9.
Σύνδεση:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Οι λόγοι για την απομάκρυνση του Swagger μπορούν να συνοψιστούν ως εξής:
- Κακή συντήρηση Swashbuckle: Το έργο Swashbuckle δεν συντηρείται πλέον ενεργά από τους ιδιοκτήτες της κοινότητας, πολλά ζητήματα παραμένουν άλυτα και δεν έχει κυκλοφορήσει επίσημη έκδοση συμβατή με το .NET 8.
- Στροφή στο Microsoft.AspNetCore.OpenApi: Η ομάδα ASP.NET Core θα βελτιώσει τις δυνατότητες του Microsoft.AspNetCore.OpenApi για να αντικαταστήσει το Swashbuckle και να ενεργοποιήσει τη δημιουργία τεκμηρίωσης OpenAPI.
- Υπάρχουσες εναλλακτικές λύσεις: Εκτός από το Swashbuckle, άλλα έργα όπως το NSwag υποστηρίζουν τη δημιουργία τεκμηρίωσης OpenAPI και τη δημιουργία κώδικα πελάτη/διακομιστή, επιτρέποντας στους προγραμματιστές να επιλέξουν την κατάλληλη λύση με βάση τις ανάγκες του έργου.
- Βελτιωμένη ενσωματωμένη υποστήριξη API: Ξεκινώντας από το ASP.NET Core 3.1, το πλαίσιο παρέχει υποστήριξη μεταδεδομένων όπως το ApiExplorer. Σε συνδυασμό με την ενσωματωμένη υποστήριξη του Visual Studio και του Visual Studio Code για αρχεία .http, η εμπειρία δοκιμής και εντοπισμού σφαλμάτων API είναι ακόμα καλύτερη.
- Προώθηση του OpenAPI ως βασικού στοιχείου: Η ομάδα ASP.NET Core σχεδιάζει να βελτιώσει περαιτέρω την ενσωμάτωση του OpenAPI στο .NET 9, καθιστώντας το ένα βασικό στοιχείο που επικεντρώνεται στη δημιουργία τεκμηρίωσης OpenAPI με μορφοποίηση JSON.
Βαθμωτός
Το Scalar είναι ένα ισχυρό και εύχρηστο εργαλείο δημιουργίας πελάτη API και τεκμηρίωσης κατάλληλο για έργα API όλων των μεγεθών, υποστηρίζοντας πολλές γλώσσες προγραμματισμού και πλατφόρμες.
Διεύθυνση ανοιχτού κώδικα:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Το ASP.NET Core ενσωματώνει το Scalar
Ενσωματωμένη τεκμηρίωση:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Δημιουργήστε ένα έργο ASP.NET Core 9, το οποίο αναφέρεται ως εξής:
Προσθέστε υπηρεσίες και ανυσματικό ενδιάμεσο λογισμικό σε Program.cs, με τον κώδικα ως εξής:
Επεξεργαστείτε WeatherForecastController.cs ελεγκτή, κωδικοποιήστε ως εξής:
Εκκινήστε το έργο, ανοίξτε το πρόγραμμα περιήγησής σας και επισκεφθείτε τη διεύθυνση:http://localhost:5088/api-docs, όπως φαίνεται στο παρακάτω σχήμα:
Μπορείτε να επιλέξετε να δημιουργήσετε συγκεκριμένο κωδικό κλήσης για βιβλιοθήκες HTTP σε διαφορετικές γλώσσες. Λαμβάνοντας ως παράδειγμα τη βιβλιοθήκη C# HttpClient, ο κώδικας που δημιουργείται είναι ο εξής:
Υποστηρίζει επίσης διαδικτυακές δοκιμές διεπαφής. Κάντε κλικ στο κουμπί Αίτημα δοκιμής, συμπληρώστε τα δεδομένα ανάρτησης και, στη συνέχεια, κάντε κλικ στην αποστολή για να στείλετε το αίτημα, όπως φαίνεται παρακάτω:
Προσαρμογή του προεπιλεγμένου προγράμματος-πελάτη Για ομάδες Για ομάδες Γ#, θέλουμε να ανοίξουμε τη διεπαφή τεκμηρίωσης η οποία εμφανίζει αυτόματα τον κωδικό κλήσης Εάν δεν θέλετε να επιλέγετε χειροκίνητα κάθε πρώτη φορά, διαμορφώστε ως εξής:
Διαγράψτε τη δυνατότητα Ask AI και αφαιρέστε το κουμπί Ask AI Agent. Αυτή η δυνατότητα φαίνεται λίγο περιττή. Ο κώδικας έχει ως εξής:
Οπως φαίνεται παρακάτω:
Μετά τη διαγραφή, όπως φαίνεται παρακάτω:
Ομοίως, απενεργοποιήστε τη λειτουργία MCP, κωδικοποιήστε ως εξής:
Η πλήρης διαμόρφωση έχει ως εξής:
Προσθέστε έλεγχο ταυτότητας JWT και μεταφέρετε την κεφαλίδα αιτήματοςΔιακριτικό κομιστή
Προσθέστε απαιτήσεις ασφαλείας σε ολόκληρη την τεκμηρίωση του OpenAPI, κώδικα ως εξής:
Οπως φαίνεται παρακάτω:
Σύνδεση OpenID (OIDC):Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Αναφορά:
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Η σύνδεση με υπερσύνδεσμο είναι ορατή. |