Saltar al contenido

Actualizar entidades de OData con el modelo de datos virtuales de SAP Cloud SDK

Como en el tutorial anterior, necesitamos crear un controlador para revelar el punto final para actualizar la dirección. Nota: Si ya tiene clases de controlador y servicio del tutorial anterior, puede guardar los archivos existentes y expandir las clases usando los nuevos métodos. Crear un business-partner.controller.ts y agregue la siguiente implementación:

import { Controller, Body, Param, Put } from '@nestjs/common';

@Controller('business-partners')
export class BusinessPartnerController {

  @Put('/:businessPartnerId/address/:addressId')
  updateBusinessPartnerAddress(@Body() requestBody, @Param('businessPartnerId') businessPartnerId, @Param('addressId') addressId): string {
    return `This is your request data:
    businessPartnerId: ${businessPartnerId}
    addressId: ${addressId}
    request body: ${JSON.stringify(requestBody)}`
  }
}

Crea un archivo llamado business-patner.service.ts sa src carpeta para aplicaciones. Luego copia el siguiente código en él:

import { Injectable } from '@nestjs/common';
import { BusinessPartnerAddress } from '@sap/cloud-sdk-vdm-business-partner-service';

@Injectable()
export class BusinessPartnerService {
    updateBusinessPartnerAddress(address: BusinessPartnerAddress): Promise<BusinessPartnerAddress> {
        return;
    }

  buildAddress(body: any, businessPartnerId: string, addressId: string): BusinessPartnerAddress {
    const address = BusinessPartnerAddress.builder().fromJson(body);
    address.businessPartner = businessPartnerId;
    address.addressId = addressId;
    return address;
  }
}

Esto sigue a la implementación en los tutoriales anteriores. updateBusinessPartnerAddress() todavía no hace nada útil, pero lo implementará en el siguiente paso. Finalmente, registre el controller y service en el módulo de aplicación raíz app.module.ts:

import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { BusinessPartnerController } from './business-partner.controller';
import { BusinessPartnerService } from './business-partner.service';

@Module({
  imports: [],
  controllers: [AppController, BusinessPartnerController],
  providers: [AppService, BusinessPartnerService]
})
export class AppModule {}

Tenga en cuenta que usamos el PUT método para actualizar la dirección de un socio comercial. Entonces tenemos que PUT solicitud. Reinicie su servidor y ejecútelo PUT pregunta por http://localhost:3000/business-partners/1/address/2 con algún cuerpo (p. ej. {"key": "Some test body."}). El servidor debe responder de la siguiente manera:

This is your request data:
businessPartnerId: 1
addressId: 2
request body: {"key":"Some test body."}

Hecho

Inicie sesión para responder la pregunta