Avalados por :

Como adicionar um filtro para 'CountryCode' em um campo dentro de um array no OData

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 4 Vistas
0
Cargando...

Olá,

Estou tendo dificuldades para adicionar um filtro para um campo que está dentro de um array, abaixo está a estrutura de caso do OData

{
   "SalesOrderSellerParty":  {
       PartyID: "1213",
       AddressSnapshotPostalAddress": [
          {
            "ObjectID": "00163E0D6B661EE7BBF815AD0",
            "CountryCode": "SE"
          }       ],
   }
}

Minha pergunta é como adicionar um filtro para 'CountryCode' porque o seguinte não funciona

$filter=SalesOrderSellerParty/AddressSnapshotPostalAddres/CountryCode eq 'SE'

$filter=SalesOrderSellerParty/PartyID eq '1213' funciona bem, no entanto.

Isso pode ser algo muito trivial, mas não consigo encontrar uma boa resposta.

Obrigado antecipadamente.

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

1 Respuestas

0
Cargando...

Olá,

A versão OData V2 possui certas regras / restrições quanto ao uso de filtros em matrizes aninhadas:

Pelo que entendi da sua estrutura OData, a propriedade de navegação do seu cabeçalho " SalesOrderSellerParty " até o seu item é " AddressSnapshotPostalAddress ". Abaixo estão detalhadas as regras / limitações:

  • O filtro aninhado só pode ser usado com a cláusula Expand
  • O campo de filtro aninhado deve ser fornecido como nome de campo qualificado
  • A cardinalidade esperada é 1:1

Exemplo: < http url..... >sap/opu/odata/< ServiceName >/SalesOrderSellerPartySet?$expand= AddressSnapshotPostalAddress &$filter=AddressSnapshotPostalAddress/CountryCode eq 'SE'

Você pode experimentar a versão V4 do OData que resolve a última restrição de cardinalidade.

Exemplo: < http url..... >sap/opu/odata/< ServiceName >/SalesOrderSellerPartySet?$expand= AddressSnapshotPostalAddress( $filter=CountryCode eq 'SE')

Saudações,

Samson.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?