-
Notifications
You must be signed in to change notification settings - Fork 5
/
index.html
37 lines (35 loc) · 2.62 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<html lang="en">
<head>
<title>API-First-Hand Tutorial</title>
</head>
<body>
<div>
<h2>Welcome to API-First-Hand</h2>
<p>
<em>More about the project</em>
</p>
<p>
API-First-Hand is an API-First bootstrapping tool for building RESTful web services from a [Swagger/OpenAPI](http://swagger.io/) specification. Constructed as a plugin, it takes your Swagger/OpenAPI definition as the single source of truth and regenerates these code snippets for you, simply and consistently. Instead of writing lots of boilerplate code, you can focus instead on implementing service business logic. Subsequent regenerations keep the code that you have added—either by commenting out the parts that are no longer valid, or by adding parts that are needed because you've changed the API.</p>
<p>API-First-Hand was made for use with <a href="http://www.playframework.com/">Play Framework</a>. Play is based on a lightweight, stateless, web-friendly architecture. Built on <a href="http://akka.io">Akka</a>, Play provides predictable and minimal resource consumption for highly-scalable applications.
</p>
<p>
API-First-Hand supports round-trip regeneration and compilation of:
</p>
<ul>
<li>Play routes definitions (managed).</li>
<li>Swagger domain model definitions and parameters onto Scala case classes (managed).</li>
<li>Swagger domain model constraints onto Play validations (managed).</li>
<li>Generators for random test data and parameter values (managed).</li>
<li>Unit tests for invalid and valid parameter sets and validating your service at the API boundary (managed).</li>
<li>Swagger path definitions onto skeletons for Play controller implementations (unmanaged). </li>
<li>Skeletons for domain-driven controller implementation and customized deserializers. </li>
<li>Wrappers for Play route files to convert semantics from HTTP-related to domain-related (controller_base). </li>
<li>Model classes and validation rules. </li>
<li>Security extractors (manual generation and compilation).</li>
<li>Unmarshallers for custom content types (manual generation and compilation).</li>
</ul>
<p>
Managed means "managed by sbt"—and this means that you don't have to control or change the code as you make your REST service. The security extractors and unmarshallers are available through manual generation and compilation, and supported if A) No security extractor or unmarshaller with the same name already exists; B) The developer issues the `playScalaSecurity` or `playScalaMarshallers` sbt command.
</p>
</div>
<div>