2014-11-13 2 views
5

Когда я пытаюсь опубликовать событие без EVENTID, я получаю:Что такое действительное событие в EventStore?

HTTP/1.1 400 Пустые EVENTID поставки.

Если я заполнить EVENTID с чем-то случайным, то я получаю:

HTTP/1.1 400 Написать тело запроса недействительна

В стандартный вывод сервера, я вижу:

Ошибка преобразования значения «foo» на тип «System.Guid»

Что нужно, чтобы получить действительный EventId?

Команда:

curl -i -d @event.json localhost:2113/streams/birthday-offer \ 
    -H "Content-Type:application/vnd.eventstore.events+json" 

event.json:

[ 
    { 
    "eventId": "foo", 
    "eventType": "bar", 
    "data": { 
     "who": "11111111111", 
     "which": "birthday-offer" 
    } 
    } 
] 

Я не на языке .NET.

ответ

7

На всякий случай, если кто-то еще сталкивается с этим вопросом, ответ EventId - это руководство.

Согласно the docs, вы даже можете опустить EventId, и сервер предоставит вам идентификатор.

+0

В соответствии с [docs] (http://docs.geteventstore.com/http-api/3.0.3/writing-to-a-stream/) вы можете опустить заголовок EventId, если это предпочтительнее или необходимо для сервер для создания идентификатора для вас. Когда вы это сделаете, сервер перенаправит вас в место, указанное сгенерированным идентификатором события, после чего вы сможете отправить данные о событиях. Я не получил, чтобы это работало, хотя ... –