2014-11-13 11 views
5

Wenn ich versuche, ein Ereignis ohne eventId zu schreiben, erhalte ich:Was ist eine gültige eventId im EventStore?

HTTP/1.1 400 Leere eventId zur Verfügung gestellt.

Wenn ich eventId mit etwas zufällig bevölkern, dann erhalte ich:

HTTP/1.1 400 Schreibanforderung Körper ungültig

Im stdout des Servers, ich sehe:

Fehler beim Konvertieren des Werts "foo" in "System.Guid"

Was braucht es, um eine gültige EventId zu erhalten?

Befehl:

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" 
    } 
    } 
] 

Ich bin nicht in einer .NET-Sprache.

Antwort

7

Nur für den Fall, dass jemand anderes auf diese Frage kommt, ist die Antwort: EventId ist ein Guid.

Nach the docs können Sie sogar die EventId weglassen und der Server wird die ID für Sie bereitstellen.

+0

Laut der [docs] (http://docs.geteventstore.com/http-api/3.0.3/writing-to-a-stream/) können Sie den Header EventId weglassen, wenn es vorzuziehen oder notwendig ist Server, um die ID für Sie zu generieren. Wenn Sie dies tun, leitet der Server Sie an einen Ort weiter, der durch die generierte Ereigniskennung angezeigt wird, in die Sie Ereignisdaten eingeben können. Ich habe das aber nicht selbst zur Arbeit gebracht ... –

Verwandte Themen