Options
All
  • Public
  • Public/Protected
  • All
Menu

Abstract class to create a get by key request containing the shared functionality for OData v2 and v4.

Type parameters

  • EntityT: EntityBase

    Type of the entity to be requested

Hierarchy

Index

Constructors

constructor

  • Creates an instance of GetByKeyRequestBuilder.

    Type parameters

    Parameters

    • entityConstructor: Constructable<EntityT, unknown>

      Constructor of the entity to create the request for

    • keys: Record<string, FieldType>

      Key-value pairs where the key is the name of a key property of the given entity and the value is the respective value

    • oDataUri: ODataUri

      Uri conversion methods

    • entityDeserializer: EntityDeserializer<any>

      Entity deserializer

    • dataAccessor: ResponseDataAccessor

    Returns GetByKeyRequestBuilderBase<EntityT>

Properties

Readonly _entity

_entity: EntityT

Readonly _entityConstructor

_entityConstructor: Constructable<EntityT, unknown>

Readonly dataAccessor

dataAccessor: ResponseDataAccessor

Readonly entityDeserializer

entityDeserializer: EntityDeserializer<any>

requestConfig

requestConfig: ODataGetByKeyRequestConfig<EntityT>

Methods

addCustomHeaders

  • Add custom headers to the request. Existing headers will be overwritten.

    Parameters

    • headers: Record<string, string>

      Key-value pairs denoting additional custom headers.

    Returns GetByKeyRequestBuilderBase<EntityT>

    The request builder itself, to facilitate method chaining.

addCustomQueryParameters

  • Add custom query parameters to the request. If a query parameter with the given name already exists it is overwritten.

    Parameters

    • queryParameters: Record<string, string>

      Key-value pairs denoting additional custom query parameters to be set in the request

    Returns GetByKeyRequestBuilderBase<EntityT>

    The request builder itself, to facilitate method chaining

addCustomRequestConfiguration

  • Add a custom request configuration to the request. Typically, this is used when specifying a response type for downloading files. If the custom request configuration contains disallowed keys, those will be ignored.

    Parameters

    • requestConfiguration: Record<string, string>

      Key-value pairs denoting additional custom request configuration options to be set in the request.

    Returns GetByKeyRequestBuilderBase<EntityT>

    The request builder itself, to facilitate method chaining.

appendPath

  • appendPath(...path: string[]): Pick<GetByKeyRequestBuilderBase<EntityT>, "_entityConstructor" | "_entity" | "executeRaw" | "requestConfig" | "url" | "relativeUrl" | "withCustomHeaders" | "addCustomHeaders" | "withCustomQueryParameters" | "addCustomQueryParameters" | "withCustomServicePath" | "setCustomServicePath" | "addCustomRequestConfiguration" | "appendPath" | "skipCsrfTokenFetching" | "build" | "entityDeserializer" | "dataAccessor" | "select">
  • Append the given path to the URL. This can be used for querying navigation properties of an entity. To execute a request with an appended path use executeRaw to avoid errors during deserialization. When using this, the execute method is omitted from the return type.

    Parameters

    • Rest ...path: string[]

      Path to be appended.

    Returns Pick<GetByKeyRequestBuilderBase<EntityT>, "_entityConstructor" | "_entity" | "executeRaw" | "requestConfig" | "url" | "relativeUrl" | "withCustomHeaders" | "addCustomHeaders" | "withCustomQueryParameters" | "addCustomQueryParameters" | "withCustomServicePath" | "setCustomServicePath" | "addCustomRequestConfiguration" | "appendPath" | "skipCsrfTokenFetching" | "build" | "entityDeserializer" | "dataAccessor" | "select">

    The request builder itself without "execute" function, to facilitate method chaining.

build

execute

executeRaw

relativeUrl

  • relativeUrl(): string
  • Create the relative url based on configuration of the given builder.

    Returns string

    The relative url for the request

select

  • Restrict the response to the given selection of properties in the request.

    Parameters

    • Rest ...selects: Selectable<EntityT>[]

      Fields to select in the request

    Returns GetByKeyRequestBuilderBase<EntityT>

    The request builder itself, to facilitate method chaining

  • Parameters

    Returns GetByKeyRequestBuilderBase<EntityT>

setCustomServicePath

  • Replace the default service path with the given custom path. In case of the S/4HANA apis the servicePath defaults to '/sap/opu/odata/sap/' and can be overwritten here.

    Parameters

    • servicePath: string

      Path to override the default with

    Returns GetByKeyRequestBuilderBase<EntityT>

    The request builder itself, to facilitate method chaining

skipCsrfTokenFetching

  • Skip fetching csrf token for this request, which is typically useful when the csrf token is not required.

    Returns GetByKeyRequestBuilderBase<EntityT>

    The request builder itself, to facilitate method chaining.

url

withCustomHeaders

  • Add custom headers to the request.

    deprecated

    Since version 1.34.0 Use addCustomHeaders instead.

    Parameters

    • headers: Record<string, string>

      Key-value pairs denoting additional custom headers

    Returns GetByKeyRequestBuilderBase<EntityT>

    The request builder itself, to facilitate method chaining

withCustomQueryParameters

  • Add custom query parameters to the request.

    deprecated

    Since version 1.34.0 Use addCustomQueryParameters instead.

    Parameters

    • queryParameters: Record<string, string>

      Key-value pairs denoting additional custom query parameters to be set in the request

    Returns GetByKeyRequestBuilderBase<EntityT>

    The request builder itself, to facilitate method chaining

withCustomServicePath

  • Replace the default service path with the given custom path. In case of the S/4HANA apis the servicePath defaults to '/sap/opu/odata/sap/' and can be overwritten here.

    deprecated

    Since version 1.34.0 Use setCustomServicePath instead.

    Parameters

    • servicePath: string

      Path to override the default with

    Returns GetByKeyRequestBuilderBase<EntityT>

    The request builder itself, to facilitate method chaining