By EnableOData in an existing web api project, all the HttpError in the project will be converted to ODataError when client requests application/json or application/xml.<br /><br />The error payload's shape will be changed:<br />Before enable odata:<br />{"Message":"No HTTP resource was found that matches the request URI 'http://localhost:8081/api/Value'.","MessageDetail":"No type was found that matches the controller named 'Value'."}<br /><br />After enable odata:<br />{<br /> "odata.error":{<br /> "code":"","message":{<br /> "lang":"en-US","value":"No HTTP resource was found that matches the request URI 'http://localhost:8081/api/Value'."<br /> }<br /> }<br />}<br /><br />A workaround is to insert JsonMediaTypeFormatter on top of formatters after EnableOData. But it will stop json light working for any application/json request.
Comments: Fixed by moving to per-controller formatters: http://aspnetwebstack.codeplex.com/SourceControl/changeset/d9463be0f715
Comments: Fixed by moving to per-controller formatters: http://aspnetwebstack.codeplex.com/SourceControl/changeset/d9463be0f715