Skip to content

Commit 27affb3

Browse files
committed
Convert links to markdown style using script from PR#15061
1 parent f6316e7 commit 27affb3

5 files changed

Lines changed: 54 additions & 54 deletions

File tree

docs/de/docs/advanced/response-directly.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ Das obige Beispiel zeigt alle Teile, die Sie benötigen, ist aber noch nicht seh
5656

5757
Sehen wir uns nun an, wie Sie damit eine benutzerdefinierte Response zurückgeben können.
5858

59-
Nehmen wir an, Sie möchten eine <a href="https://en.wikipedia.org/wiki/XML" class="external-link" target="_blank">XML</a>-Response zurückgeben.
59+
Nehmen wir an, Sie möchten eine [XML](https://en.wikipedia.org/wiki/XML)-Response zurückgeben.
6060

6161
Sie könnten Ihren XML-Inhalt als String in eine `Response` einfügen und sie zurückgeben:
6262

docs/de/docs/alternatives.md

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@ Aber irgendwann gab es keine andere Möglichkeit, als etwas zu schaffen, das all
1414

1515
## Vorherige Tools { #previous-tools }
1616

17-
### <a href="https://www.djangoproject.com/" class="external-link" target="_blank">Django</a> { #django }
17+
### [Django](https://www.djangoproject.com/) { #django }
1818

1919
Es ist das beliebteste Python-Framework und genießt großes Vertrauen. Es wird zum Aufbau von Systemen wie Instagram verwendet.
2020

2121
Es ist relativ eng mit relationalen Datenbanken (wie MySQL oder PostgreSQL) gekoppelt, daher ist es nicht sehr einfach, eine NoSQL-Datenbank (wie Couchbase, MongoDB, Cassandra, usw.) als Hauptspeicherengine zu verwenden.
2222

2323
Es wurde erstellt, um den HTML-Code im Backend zu generieren, nicht um APIs zu erstellen, die von einem modernen Frontend (wie React, Vue.js und Angular) oder von anderen Systemen (wie <abbr title="Internet of Things - Internet der Dinge">IoT</abbr>-Geräten) verwendet werden, um mit ihm zu kommunizieren.
2424

25-
### <a href="https://www.django-rest-framework.org/" class="external-link" target="_blank">Django REST Framework</a> { #django-rest-framework }
25+
### [Django REST Framework](https://www.django-rest-framework.org/) { #django-rest-framework }
2626

2727
Das Django REST Framework wurde als flexibles Toolkit zum Erstellen von Web-APIs unter Verwendung von Django entwickelt, um dessen API-Möglichkeiten zu verbessern.
2828

@@ -42,7 +42,7 @@ Eine automatische API-Dokumentationsoberfläche zu haben.
4242

4343
///
4444

45-
### <a href="https://flask.palletsprojects.com" class="external-link" target="_blank">Flask</a> { #flask }
45+
### [Flask](https://flask.palletsprojects.com) { #flask }
4646

4747
Flask ist ein „Mikroframework“, es enthält weder Datenbankintegration noch viele der Dinge, die standardmäßig in Django enthalten sind.
4848

@@ -64,7 +64,7 @@ Ein Mikroframework zu sein. Es einfach zu machen, die benötigten Tools und Teil
6464

6565
///
6666

67-
### <a href="https://requests.readthedocs.io" class="external-link" target="_blank">Requests</a> { #requests }
67+
### [Requests](https://requests.readthedocs.io) { #requests }
6868

6969
**FastAPI** ist eigentlich keine Alternative zu **Requests**. Der Umfang der beiden ist sehr unterschiedlich.
7070

@@ -106,7 +106,7 @@ Sehen Sie sich die Ähnlichkeiten in `requests.get(...)` und `@app.get(...)` an.
106106

107107
///
108108

109-
### <a href="https://swagger.io/" class="external-link" target="_blank">Swagger</a> / <a href="https://github.com/OAI/OpenAPI-Specification/" class="external-link" target="_blank">OpenAPI</a> { #swagger-openapi }
109+
### [Swagger](https://swagger.io/) / [OpenAPI](https://github.com/OAI/OpenAPI-Specification/) { #swagger-openapi }
110110

111111
Die Hauptfunktion, die ich vom Django REST Framework haben wollte, war die automatische API-Dokumentation.
112112

@@ -124,8 +124,8 @@ Einen offenen Standard für API-Spezifikationen zu übernehmen und zu verwenden,
124124

125125
Und Standard-basierte Tools für die Oberfläche zu integrieren:
126126

127-
* <a href="https://github.com/swagger-api/swagger-ui" class="external-link" target="_blank">Swagger UI</a>
128-
* <a href="https://github.com/Rebilly/ReDoc" class="external-link" target="_blank">ReDoc</a>
127+
* [Swagger UI](https://github.com/swagger-api/swagger-ui)
128+
* [ReDoc](https://github.com/Rebilly/ReDoc)
129129

130130
Diese beiden wurden ausgewählt, weil sie ziemlich beliebt und stabil sind, aber bei einer schnellen Suche könnten Sie Dutzende alternativer Benutzeroberflächen für OpenAPI finden (welche Sie mit **FastAPI** verwenden können).
131131

@@ -135,7 +135,7 @@ Diese beiden wurden ausgewählt, weil sie ziemlich beliebt und stabil sind, aber
135135

136136
Es gibt mehrere Flask REST Frameworks, aber nachdem ich die Zeit und Arbeit investiert habe, sie zu untersuchen, habe ich festgestellt, dass viele nicht mehr unterstützt werden oder abgebrochen wurden und dass mehrere fortbestehende Probleme sie unpassend machten.
137137

138-
### <a href="https://marshmallow.readthedocs.io/en/stable/" class="external-link" target="_blank">Marshmallow</a> { #marshmallow }
138+
### [Marshmallow](https://marshmallow.readthedocs.io/en/stable/) { #marshmallow }
139139

140140
Eine der von API-Systemen benötigten Hauptfunktionen ist die Daten-<dfn title="auch genannt: Marshalling, Konvertierung">„Serialisierung“</dfn>, welche Daten aus dem Code (Python) entnimmt und in etwas umwandelt, was durch das Netzwerk gesendet werden kann. Beispielsweise das Konvertieren eines Objekts, welches Daten aus einer Datenbank enthält, in ein JSON-Objekt. Konvertieren von `datetime`-Objekten in Strings, usw.
141141

@@ -153,7 +153,7 @@ Code zu verwenden, um „Schemas“ zu definieren, welche Datentypen und Validie
153153

154154
///
155155

156-
### <a href="https://webargs.readthedocs.io/en/latest/" class="external-link" target="_blank">Webargs</a> { #webargs }
156+
### [Webargs](https://webargs.readthedocs.io/en/latest/) { #webargs }
157157

158158
Eine weitere wichtige Funktion, die von APIs benötigt wird, ist das <dfn title="Lesen und Konvertieren nach Python-Daten">Parsen</dfn> von Daten aus eingehenden Requests.
159159

@@ -175,7 +175,7 @@ Eingehende Requestdaten automatisch zu validieren.
175175

176176
///
177177

178-
### <a href="https://apispec.readthedocs.io/en/stable/" class="external-link" target="_blank">APISpec</a> { #apispec }
178+
### [APISpec](https://apispec.readthedocs.io/en/stable/) { #apispec }
179179

180180
Marshmallow und Webargs bieten Validierung, Parsen und Serialisierung als Plugins.
181181

@@ -205,7 +205,7 @@ Den offenen Standard für APIs, OpenAPI, zu unterstützen.
205205

206206
///
207207

208-
### <a href="https://flask-apispec.readthedocs.io/en/latest/" class="external-link" target="_blank">Flask-apispec</a> { #flask-apispec }
208+
### [Flask-apispec](https://flask-apispec.readthedocs.io/en/latest/) { #flask-apispec }
209209

210210
Hierbei handelt es sich um ein Flask-Plugin, welches Webargs, Marshmallow und APISpec miteinander verbindet.
211211

@@ -219,11 +219,11 @@ Diese Kombination aus Flask, Flask-apispec mit Marshmallow und Webargs war bis z
219219

220220
Die Verwendung führte zur Entwicklung mehrerer Flask-Full-Stack-Generatoren. Dies sind die Hauptstacks, die ich (und mehrere externe Teams) bisher verwendet haben:
221221

222-
* <a href="https://github.com/tiangolo/full-stack" class="external-link" target="_blank">https://github.com/tiangolo/full-stack</a>
223-
* <a href="https://github.com/tiangolo/full-stack-flask-couchbase" class="external-link" target="_blank">https://github.com/tiangolo/full-stack-flask-couchbase</a>
224-
* <a href="https://github.com/tiangolo/full-stack-flask-couchdb" class="external-link" target="_blank">https://github.com/tiangolo/full-stack-flask-couchdb</a>
222+
* [https://github.com/tiangolo/full-stack](https://github.com/tiangolo/full-stack)
223+
* [https://github.com/tiangolo/full-stack-flask-couchbase](https://github.com/tiangolo/full-stack-flask-couchbase)
224+
* [https://github.com/tiangolo/full-stack-flask-couchdb](https://github.com/tiangolo/full-stack-flask-couchdb)
225225

226-
Und dieselben Full-Stack-Generatoren bildeten die Basis der [**FastAPI**-Projektgeneratoren](project-generation.md){.internal-link target=_blank}.
226+
Und dieselben Full-Stack-Generatoren bildeten die Basis der [**FastAPI**-Projektgeneratoren](project-generation.md).
227227

228228
/// info | Info
229229

@@ -237,7 +237,7 @@ Das OpenAPI-Schema automatisch zu generieren, aus demselben Code, welcher die Se
237237

238238
///
239239

240-
### <a href="https://nestjs.com/" class="external-link" target="_blank">NestJS</a> (und <a href="https://angular.io/" class="external-link" target="_blank">Angular</a>) { #nestjs-and-angular }
240+
### [NestJS](https://nestjs.com/) (und [Angular](https://angular.io/)) { #nestjs-and-angular }
241241

242242
Dies ist nicht einmal Python, NestJS ist ein von Angular inspiriertes JavaScript (TypeScript) NodeJS Framework.
243243

@@ -259,13 +259,13 @@ Python-Typen zu verwenden, um eine hervorragende Editorunterstützung zu erhalte
259259

260260
///
261261

262-
### <a href="https://sanic.readthedocs.io/en/latest/" class="external-link" target="_blank">Sanic</a> { #sanic }
262+
### [Sanic](https://sanic.readthedocs.io/en/latest/) { #sanic }
263263

264264
Es war eines der ersten extrem schnellen Python-Frameworks, welches auf `asyncio` basierte. Es wurde so gestaltet, dass es Flask sehr ähnlich ist.
265265

266266
/// note | Technische Details
267267

268-
Es verwendete <a href="https://github.com/MagicStack/uvloop" class="external-link" target="_blank">`uvloop`</a> anstelle der standardmäßigen Python-`asyncio`-Schleife. Das hat es so schnell gemacht.
268+
Es verwendete [`uvloop`](https://github.com/MagicStack/uvloop) anstelle der standardmäßigen Python-`asyncio`-Schleife. Das hat es so schnell gemacht.
269269

270270
Hat eindeutig Uvicorn und Starlette inspiriert, welche derzeit in offenen Benchmarks schneller als Sanic sind.
271271

@@ -279,7 +279,7 @@ Aus diesem Grund basiert **FastAPI** auf Starlette, da dieses das schnellste ver
279279

280280
///
281281

282-
### <a href="https://falconframework.org/" class="external-link" target="_blank">Falcon</a> { #falcon }
282+
### [Falcon](https://falconframework.org/) { #falcon }
283283

284284
Falcon ist ein weiteres leistungsstarkes Python-Framework. Es ist minimalistisch konzipiert und dient als Grundlage für andere Frameworks wie Hug.
285285

@@ -297,7 +297,7 @@ Obwohl er in FastAPI optional ist und hauptsächlich zum Festlegen von Headern,
297297

298298
///
299299

300-
### <a href="https://moltenframework.com/" class="external-link" target="_blank">Molten</a> { #molten }
300+
### [Molten](https://moltenframework.com/) { #molten }
301301

302302
Ich habe Molten in den ersten Phasen der Entwicklung von **FastAPI** entdeckt. Und es hat ganz ähnliche Ideen:
303303

@@ -321,7 +321,7 @@ Das hat tatsächlich dazu geführt, dass Teile von Pydantic aktualisiert wurden,
321321

322322
///
323323

324-
### <a href="https://github.com/hugapi/hug" class="external-link" target="_blank">Hug</a> { #hug }
324+
### [Hug](https://github.com/hugapi/hug) { #hug }
325325

326326
Hug war eines der ersten Frameworks, welches die Deklaration von API-Parametertypen mithilfe von Python-Typhinweisen implementierte. Das war eine großartige Idee, die andere Tools dazu inspirierte, dasselbe zu tun.
327327

@@ -337,7 +337,7 @@ Da es auf dem bisherigen Standard für synchrone Python-Webframeworks (WSGI) bas
337337

338338
/// info | Info
339339

340-
Hug wurde von Timothy Crosley erstellt, demselben Schöpfer von <a href="https://github.com/timothycrosley/isort" class="external-link" target="_blank">`isort`</a>, einem großartigen Tool zum automatischen Sortieren von Importen in Python-Dateien.
340+
Hug wurde von Timothy Crosley erstellt, demselben Schöpfer von [`isort`](https://github.com/timothycrosley/isort), einem großartigen Tool zum automatischen Sortieren von Importen in Python-Dateien.
341341

342342
///
343343

@@ -351,7 +351,7 @@ Hug inspirierte **FastAPI** dazu, einen `response`-Parameter in Funktionen zu de
351351

352352
///
353353

354-
### <a href="https://github.com/encode/apistar" class="external-link" target="_blank">APIStar</a> (≦ 0.5) { #apistar-0-5 }
354+
### [APIStar](https://github.com/encode/apistar) (≦ 0.5) { #apistar-0-5 }
355355

356356
Kurz bevor ich mich entschied, **FastAPI** zu erstellen, fand ich den **APIStar**-Server. Er hatte fast alles, was ich suchte, und ein tolles Design.
357357

@@ -401,7 +401,7 @@ Ich betrachte **FastAPI** als einen „spirituellen Nachfolger“ von APIStar, w
401401

402402
## Verwendet von **FastAPI** { #used-by-fastapi }
403403

404-
### <a href="https://docs.pydantic.dev/" class="external-link" target="_blank">Pydantic</a> { #pydantic }
404+
### [Pydantic](https://docs.pydantic.dev/) { #pydantic }
405405

406406
Pydantic ist eine Bibliothek zum Definieren von Datenvalidierung, Serialisierung und Dokumentation (unter Verwendung von JSON Schema) basierend auf Python-Typhinweisen.
407407

@@ -417,7 +417,7 @@ Die gesamte Datenvalidierung, Datenserialisierung und automatische Modelldokumen
417417

418418
///
419419

420-
### <a href="https://www.starlette.dev/" class="external-link" target="_blank">Starlette</a> { #starlette }
420+
### [Starlette](https://www.starlette.dev/) { #starlette }
421421

422422
Starlette ist ein leichtgewichtiges <dfn title="Der neue Standard für die Erstellung asynchroner Python-Webanwendungen">ASGI</dfn>-Framework/Toolkit, welches sich ideal für die Erstellung hochperformanter asynchroner Dienste eignet.
423423

@@ -462,7 +462,7 @@ Alles, was Sie also mit Starlette machen können, können Sie direkt mit **FastA
462462

463463
///
464464

465-
### <a href="https://www.uvicorn.dev/" class="external-link" target="_blank">Uvicorn</a> { #uvicorn }
465+
### [Uvicorn](https://www.uvicorn.dev/) { #uvicorn }
466466

467467
Uvicorn ist ein blitzschneller ASGI-Server, der auf uvloop und httptools basiert.
468468

@@ -476,10 +476,10 @@ Hauptwebserver zum Ausführen von **FastAPI**-Anwendungen.
476476

477477
Sie können auch die Kommandozeilenoption `--workers` verwenden, um einen asynchronen Multiprozess-Server zu erhalten.
478478

479-
Weitere Details finden Sie im Abschnitt [Deployment](deployment/index.md){.internal-link target=_blank}.
479+
Weitere Details finden Sie im Abschnitt [Deployment](deployment/index.md).
480480

481481
///
482482

483483
## Benchmarks und Geschwindigkeit { #benchmarks-and-speed }
484484

485-
Um den Unterschied zwischen Uvicorn, Starlette und FastAPI zu verstehen, zu vergleichen, und zu sehen, lesen Sie den Abschnitt über [Benchmarks](benchmarks.md){.internal-link target=_blank}.
485+
Um den Unterschied zwischen Uvicorn, Starlette und FastAPI zu verstehen, zu vergleichen, und zu sehen, lesen Sie den Abschnitt über [Benchmarks](benchmarks.md).

0 commit comments

Comments
 (0)