[
https://issues.apache.org/jira/browse/OLINGO-1374?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tobias Niehues updated OLINGO-1374:
-----------------------------------
Description:
Error responses should include error codes and target to enable user interfaces
to tie validation errors to the related interface element.
For example: The xml and json implementations of ODataDeserializer throw
DeserializerExceptions and include the offending property in the error message.
However, this information does not get propagated to the error handler.
See:
[https://github.com/apache/olingo-odata4/blob/master/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHandlerImpl.java#L81-L125]
DeserializerException is converted to ODataServerError, but it is not setting
the ODataServerError.target attribute. This results in error messages like:
```
{"error":\{"code":null,"message":"Property: Type must not be null."}}
```
I would expect the error message to look like this:
{"error":\{"code": "INVALID_NULL_PROPERTY","message":"Property: Type must not
be null.", target: "Type"}}
As it is, I find it hard to customize error handling as it is now. There is no
nice way to replace ODataExceptionHelper, for example.
was:
Error responses should include error codes and target to enable user interfaces
to tie validation errors to the related interface element.
For example: The xml and json implementations of ODataDeserializer throw
DeserializerExceptions and include the offending property in the error message.
However, this information does not get propagated to the error handler.
See:
[https://github.com/apache/olingo-odata4/blob/master/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHandlerImpl.java#L81-L125]
DeserializerException is converted to ODataServerError, but it is not setting
the ODataServerError.target attribute. This results in error messages like:
```
{"error":\{"code":null,"message":"Property: Type must not be null."}}
```
As it is, I find it hard to customize error handling as it is now. There is no
nice way to replace ODataExceptionHelper, for example.
> Include "target" in error response caused by exceptions
> (ODataLibraryException, DeserializerException)
> ------------------------------------------------------------------------------------------------------
>
> Key: OLINGO-1374
> URL: https://issues.apache.org/jira/browse/OLINGO-1374
> Project: Olingo
> Issue Type: Improvement
> Components: odata4-server
> Affects Versions: (Java) V4 4.6.0
> Reporter: Tobias Niehues
> Priority: Major
>
> Error responses should include error codes and target to enable user
> interfaces to tie validation errors to the related interface element.
> For example: The xml and json implementations of ODataDeserializer throw
> DeserializerExceptions and include the offending property in the error
> message. However, this information does not get propagated to the error
> handler.
>
> See:
> [https://github.com/apache/olingo-odata4/blob/master/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHandlerImpl.java#L81-L125]
>
> DeserializerException is converted to ODataServerError, but it is not setting
> the ODataServerError.target attribute. This results in error messages like:
> ```
> {"error":\{"code":null,"message":"Property: Type must not be null."}}
> ```
> I would expect the error message to look like this:
> {"error":\{"code": "INVALID_NULL_PROPERTY","message":"Property: Type must not
> be null.", target: "Type"}}
>
> As it is, I find it hard to customize error handling as it is now. There is
> no nice way to replace ODataExceptionHelper, for example.
>
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)