DELETE с неправильным заголовком возвращает 404, хотя сущность существует - PullRequest
1 голос
/ 05 марта 2020

Мы случайно вставили объекты в orion, используя неправильный заголовок (опечатка) fiware-service-path вместо правильного fiware-servicepath (без последнего дефиса), и теперь я не могу удалить объекты. Я также протестировал скрипт python delete_entities_by_query непосредственно на сервере без какой-либо авторизации, который также возвращает список сущностей.

There are 61 entities
There are 0 pages of 500 entities (and a final page of 61 entities)

Попытка удаления всегда приводит к 404, хотя следующий запрос возвращает объекты:

--header 'fiware-service: something' \
--header 'fiware-service-path: asdf' \
--header 'Authorization: Bearer TOKEN'

например, возвращает объект id:urn:ngsi-ld:6c99ecaa-5cee-4f27-b936-3ccbe8c42d66

УДАЛИТЬ:

curl --location --request DELETE 'https://<orion>/v2/entities/urn:ngsi-ld:6c99ecaa-5cee-4f27-b936-3ccbe8c42d66' \
--header 'fiware-service: something' \
--header 'fiware-service-path: asdf' \
--header 'Authorization: Bearer TOKEN'

возвращает 404. {"error":"NotFound","description":"The requested entity has not been found. Check type and id"}

1 Ответ

0 голосов
/ 05 марта 2020

Правильный заголовок для указания пути службы в Orion - fiware-servicepath (не fiware-service-path). Возможно, это является причиной проблемы (заголовок fiware-service-path игнорируется Orion, поэтому подразумевается, что fiware-servicepath: / неявно, сущность там не найдена, и возвращается 404).

Также обратите внимание, что синтаксис для мандатов пути службы начинаться с /. Таким образом, asdf не является допустимым служебным путем, а /asdf -.

...