Filtro API WCF Web DateTimeOffset
-
25-10-2019 - |
Domanda
Attualmente sto usando WCF Web API Preview 5 e sto cercando di filtrare un elenco di utenti cui il LastModifiedDate è maggiore o uguale al datetimeoffset fornito:
http://api.myapp.com/users?$filter=LastModifiedDate ge datetimeoffset'2011-06-01T14:03:00+00:00Z'
Comunque tutto quello che sto ottenendo è un errore che dice:
Microsoft.ApplicationServer.Query.ParseException: '.' or '(' expected (at index 34)
Il filtraggio sembra funzionare benissimo come questo filtro riporta l'utente richiesto
http://api.myapp.com/users?$filter=UserId eq 1
-- XML Response
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfUser xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<User>
<ExtensionData />
<CreateDate />
<CreatedById>1</CreatedById>
<IsDeleted>false</IsDeleted>
<LastModifiedById>1</LastModifiedById>
<LastModifiedDate />
<Name>Joe</Name>
<UserId>1</UserId>
</User>
</ArrayOfUser>
-- JSON Response
[
{
"CreateDate":
{
"DateTime":"\/Date(1306481778297)\/",
"OffsetMinutes":0
},
"CreatedById":1,
"IsDeleted":false,
"LastModifiedById":1,
"LastModifiedDate":
{
"DateTime":"\/Date(1306936979717)\/",
"OffsetMinutes":0
},
"Name":"Joe",
"UserId":1
}
]
Proprio non riesce a farlo funzionare con il filtro DateTimeOffset così sto creando il filtro in modo errato? O c'è qualcos'altro in gioco?
Soluzione
Hai provato
http://api.myapp.com/users?$filter=LastModifiedDate ge datetimeoffset('2011-06-01T14:03:00+00:00Z')
o
http://api.myapp.com/users?$filter=LastModifiedDate ge (datetimeoffset'2011-06-01T14:03:00+00:00Z')
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow