2013-05-02 2 views
0

Я пытаюсь создать индекс в наборе под определенным пространством имен, но я не уверен, как это сделать.Создание индекса с помощью REST API

Мои ресурсы имеют это в качестве примера HTTP:

POST /example/v1/index/{namespace}/{set}/{indexName} 

и для примера ввода:

{ 
"fields": [ 
    { "indexField": "firstName", "indexReverseOrder": true }, 
    { "indexField": "lastName" } 
], 
"options": { 
    "isUnique": true 
} 
} 

это потребляющего

, но когда я пишу это как

curl -X POST exampleurl.com/example/v1/index/example_namespace/example_set/example 
set -d " { 
"fields": [ 
    { "indexField": "firstName", "indexReverseOrder": true }, 
    { "indexField": "lastName" } 
], 
"options": { 
    "isUnique": true 
} }" -H "Content-type : application/json;charset=UTF-8" 

я получаю следующий код состояния НТТР

HTTP/1.1 415 Unsupported Media Type 

Может кто-нибудь объяснить мне, что происходит, и как я могу это исправить? Кроме того, дайте мне знать, если у вас недостаточно информации об API, чтобы понять это, спасибо!

EDIT:

В какой-то ссылки, для этого API, когда я создаю множество в пространстве имен я делаю:

curl -X POST http://exampleurl.com/example/v1/store/example_namespace -d "example_set" -H "Content-type: application/json;charset=UTF-8" 

и это успешно. Я думал, что индексы будут похожи на это, но, видимо, нет.

ответ

0

Ошибка связана с Баш оболочки искажая двойные кавычки перед JSON

curl -X POST exampleurl.com/example/v1/index/example_namespace/example_set/example 
set -d " { 
"fields": [ 
    { "indexField": "firstName", "indexReverseOrder": true }, 
    { "indexField": "lastName" } 
], 
"options": { 
"isUnique": true 
} }" -H "Content-type : application/json;charset=UTF-8" 

должно быть:

curl -X POST exampleurl.com/example/v1/index/example_namespace/example_set/example 
set -d ' { 
"fields": [ 
    { "indexField": "firstName", "indexReverseOrder": true }, 
    { "indexField": "lastName" } 
], 
"options": { 
"isUnique": true 
} }' -H "Content-type : application/json;charset=UTF-8" 

Разница заключается в одинарных кавычках, инкапсулирующих json. Оболочка bash даст ошибку при попытке выполнить команду.

-1

У вас есть опечатка в вашем типе носителя:

application/json;charset=UTF=8 

Должно быть:

+0

ах, да. Просто типографская ошибка при публикации вопроса. Это звучит, когда я позвонил – MITjanitor

Смежные вопросы