selectline-software / selectline-api

Apache License 2.0
24 stars 5 forks source link

POST /Documents/{documentKey}/Successors mit Positionen gibt Fehler-400 zurück #382

Open ondrejpokorny opened 2 months ago

ondrejpokorny commented 2 months ago

Details

Steps to replicate the behavior:

Ich schicke den folgenden Request an die Selectline API:

POST https://192.168.xxx.xxx/slmobileApi/Documents/{documentKey}/Successors
{"DocumentKindDestination": "S", "Positions": [{"ArticleNumber": "05667914", "Quantity": 1}]}

Response=400 ganz ohne einen Body-Text, keine bessere Fehlermeldung, nichts. Nur HTTP-Status=400.

Die URL ist richtig, weil der einfache Request ohne Positionen:

POST https://192.168.xxx.xxx/slmobileApi/Documents/{documentKey}/Successors
{"DocumentKindDestination": "S"}

funktioniert = einen Folgebeleg erstellt und ich bekomme im Response-Body auch das JSON-Dokument, aus welchem ich die Belegnummer des Folgebelegs auslesen kann.

Conclusion:

1.) Was mache ich falsch? 2.) Könnte beim 400-Fehler eine Fehlermeldung im Response-Bodytext ausgegeben werden, die dem Programmierer erklärt, was im Request falsch ist? So kann keine Fehlerbehebung durchgeführt werden.

Danke, lg

MatthiasGuse commented 2 months ago

Hallo,

in meinen Versuchen erhalte ich die korrekte Fehlermeldung im Body. Erhalten Sie im Swagger oder im Postman ebenfalls einen leeren Body?

{ "StatusCode": "BadRequest", "ResponseCode": "42-075", "ResponseId": 75, "ResponseIdDescription": "InvalidCastErrorException", "Message": "Ungültige Belegkennung {00000000-0000-0000-0000-000000000000}", "Details": null }

Sie müssen den "Identifier" mit angeben.

Viele Grüße