Design: consistent API responses with validation messages

Description

We need to establish a design for all APIs and all endpoints to follow when providing warning messages about invalid data.

Currently we are seeing some inconsistency in the different API endpoints. Below are examples from memory (may not match actual strings):

BUT this pattern of using field names where the API knows the UI field name would seem to tightly couple the UI to the back-end (bad).

The AngularJS reference UI — and any future UI or other API consumer — will need a consistent format for validation messages to come back in.

Acceptance Criteria

  • Design activities have occurred and we have an agreed-upon pattern for this, with buy-in/approval from the Architect and at least one SolDevelo lead

  • Documented this design pattern in a way developers can understand

  • Update the RAML or API documentation so we explain to API consumers how they can expect to receive these validation errors (maybe we write this RAML change but don't push it to master since at no time do we want the RAML to be out of sync with the working state of the endpoints)

  • File ticket(s) for bringing the current APIs and all v3 endpoints into compliance, and updating the reference UI to match and to still work

QAlity Plus - Test Management

Checklists

Activity

Sebastian Brudziński 
November 15, 2016 at 9:06 PM

Thanks LGTM, moving to done.

Brandon Bowersox-Johnson 
November 15, 2016 at 8:43 PM

I responded to your question and revised the document to make that more clear (I hope!) Re-assigning back to you for review.

Sebastian Brudziński 
November 15, 2016 at 2:11 PM

I left one question about modified part.

Brandon Bowersox-Johnson 
November 14, 2016 at 7:39 PM

I made revisions based on your feedback in the review. If the updates all make sense to you, it's fine to move this to Done, or let me know if there are any other questions or concerns. Thanks!

Brandon Bowersox-Johnson 
November 8, 2016 at 10:30 PM

I invited you to a Fisheye review for this. There are some acceptance criteria still outstanding, such as filing tickets to bring the existing APIs into compliance; but I'm not sure if it's really a good use of time to do that (we can talk).

Done
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Story Points

Time tracking

1h 30m logged

Sprint

Fix versions

Priority

Time Assistant

Created October 14, 2016 at 11:28 AM
Updated November 18, 2016 at 11:09 PM
Resolved November 15, 2016 at 9:06 PM