You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: guides/integration/inner-loops.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -56,7 +56,7 @@ npm install
56
56
57
57
## Mocked Out of the Box
58
58
59
-
Within the context of application service integration and microservice architecture, we'd need to mock remote services in a consuming app to reach inner loop. CAP greatly does that for us, based on:
59
+
Within the context of application service integration and microservice architecture, we'd need to mock remote services in a consuming app to reach an inner loop. CAP handles this automatically for us, based on:
60
60
61
61
- A CDS service definition is all we need to serve a fully functional OData service
62
62
- APIs imported via `cds export` and `cds import` are CDS service definition
@@ -138,11 +138,11 @@ We can also use `cds mock` to mock remote services in separate processes, which
138
138
139
139
> [!tip] Decoupled Development → Contracts First
140
140
>
141
-
> Local inner loops allow promote decoupled development of separate parts / applications / microservices in larger solution projects. Each team can focus on their local domain and functionality with the required remote services mocked for them based on imported APIs. These APIs are the contracts between the individual teams.
141
+
> Local inner loops allow promoting decoupled development of separate parts / applications / microservices in larger solution projects. Each team can focus on their local domain and functionality with the required remote services mocked for them based on imported APIs. These APIs are the contracts between the individual teams.
142
142
143
143
> [!tip] Fast-track Inner-Loop Development → Spawning Parallel Tracks
144
144
>
145
-
> The mocked-out-of-the-box capabilities of CAP, with remoted services mocked in-process and a shared in-memory database, allows us to greatly speed up development and time to market. For real remote operations there is additional investment required, of course. But the agnostic nature of CAP-level Service Integration also allows you to spawn two working tracks running in parallel: One team to focus on domain and functionality, and another one to work on the integration logic under the hood.
145
+
> The mocked-out-of-the-box capabilities of CAP, with remote services mocked in-process and a shared in-memory database, allows us to greatly speed up development and time to market. For real remote operations there is additional investment required, of course. But the agnostic nature of CAP-level Service Integration also allows you to spawn two working tracks running in parallel: One team to focus on domain and functionality, and another one to work on the integration logic under the hood.
So far we assumed we mainly wirked within the *xtravels* project, and we consumed thte APIs from xflights via `npm publish` / `npm install`. There might be situations where we would want to shortcut this process. For example, we might want to consume a very latest version of the xflights API, which is not yet published to the *npm* registry. Or we might even want to work on both projects simultaneously, and test our latest changes to *xflights* in *xtravels* in close loops.
326
+
So far we assumed we mainly worked within the *xtravels* project, and we consumed the API from xflights via `npm publish` / `npm install`. There might be situations where we would want to shortcut this process. For example, we might want to consume a very latest version of the xflights API, which is not yet published to the *npm* registry. Or we might even want to work on both projects simultaneously, and test our latest changes to *xflights* in *xtravels* in close loops.
327
327
328
328
So, in essence, instead of exercising a workflow like that again and again:
[Managed fields](../guides/domain/index#managed-data) and [UUIDs](../guides/domain/index#prefer-uuids-for-keys) are automatically filled with `INSERT.entries()`, but not when using `INSERT.columns().values()` or `INSERT.columns().rows()`.
Copy file name to clipboardExpand all lines: tools/cds-cli.md
+12-14Lines changed: 12 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -297,12 +297,11 @@ In [VS Code](./cds-editors#vscode), use the command _Generate HTTP Requests_ to
297
297
298
298
#### Authentication / Authorization
299
299
300
-
##### To local applications
300
+
##### -> To local applications
301
301
302
-
<divclass="impl node">
303
-
304
-
By default, an authorization header with a [local mock user](../node.js/authentication#mock-users) is written to the `http` file, and `localhost` is the target host.
302
+
By default, an authorization header with a local mock user is written to the `http` file, and `localhost` is the target host.
305
303
304
+
::: code-group
306
305
```http [Node.js]
307
306
@server = http://localhost:4004
308
307
@auth = Authorization: Basic alice:
@@ -312,32 +311,31 @@ GET {{server}}/odata/v4/admin/Books
312
311
{{auth}}
313
312
...
314
313
```
315
-
</div>
316
-
317
-
<divclass="impl java">
318
-
319
-
By default, an authorization header with a [local mock user](../java/security#mock-users) is written to the `http` file, and `localhost` is the target host.
320
-
321
314
```http [Java]
322
315
@server = http://localhost:8080
323
316
324
317
### CatalogService.Books
325
318
GET {{server}}/odata/v4/admin/Books
326
-
{{auth}}
319
+
327
320
...
328
321
```
329
-
</div>
322
+
:::
323
+
324
+
[Learn more about mock users in Node.js.](../node.js/authentication#mock-users){.learn-more}
325
+
[Learn more about mock users in Java.](../java/security#mock-users){.learn-more}
326
+
327
+
330
328
331
329
332
-
##### To remote applications
330
+
##### -> To remote applications
333
331
334
332
Use `--for-app <cf-appname>` to use a JWT token of a remote application. For example:
335
333
336
334
```sh
337
335
cds add http --for-app bookshop
338
336
```
339
337
340
-
assumes a remote app named `bookshop` on CloudFoundry and a JWT token for this app is written to the request file:
338
+
This assumes a remote app named `bookshop` on CloudFoundry and a JWT token for this app is written to the request file:
0 commit comments