You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@olingo.apache.org by "Tobias Niehues (JIRA)" <ji...@apache.org> on 2019/06/21 11:48:00 UTC
[jira] [Updated] (OLINGO-1374) Include "target" in error response
caused by exceptions (ODataLibraryException, DeserializerException)
[ 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)