Ahora definirá los servicios, que deberían revelar las entidades que ha especificado en su modelo de dominio:
Dentro de
~/projects/bookstore/srv
carpeta, cree un archivo llamadoservices.cds
.Agregue el siguiente código al
services.cds
archivo y asegúrese de Salvar el archivo:
using { sap.capire.bookstore as db } from '../db/schema';
// Define Books Service
service BooksService {
@readonly entity Books as projection on db.Books { *, category as genre } excluding { category, createdBy, createdAt, modifiedBy, modifiedAt };
@readonly entity Authors as projection on db.Authors;
}
// Define Orders Service
service OrdersService {
entity Orders as projection on db.Orders;
entity OrderItems as projection on db.OrderItems;
}
// Reuse Admin Service
using { AdminService } from '@sap/capire-products';
extend service AdminService with {
entity Authors as projection on db.Authors;
}
El es services.cds
el archivo define tres servicios:
BooksService
OrdersService
AdminService
El es BooksService
utilizado para proporcionar una vista de solo lectura de la Books
y Authors
detalles. Esta entidad no se puede modificar a través de este servicio.
El es OrdersService
permite ver, crear y eliminar comandos.
El es AdminService
reutilizados del producto servicio. Pero el Authors
entidad para él. Se puede utilizar para crear, actualizar y eliminar productos y autores.
Se considera una buena práctica definir los servicios con un caso de uso en mente. Por ejemplo, el AdminService
destinado a administrar Productos, Autores y Categorías, y la BooksService
está destinado a revelar un catálogo de libros y autores, para ocultar datos administrativos como tiempos de creación y modificaciones al usuario final.