Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Background

Some of our API’s return 404’s for Not Found or Null. Unfortunately, our APM systems see all 400+ status codes as errors, so these response are creating a lot of noise in error logs. So, we want to have a conversation around “What should be returned when we can’t find a record in a database?”

Prior Discussions

...

What are we currently doing?

null values

ARIT

SA

Notes

We just used whatever Microsoft had as their default implementation

Single Value

200 - {}

200 - null

List Value

200 - []

200 - []

https://developer.ucsb.edu/docs/publishers/guidelines-and-standards

...

Discussion

  • The diference in the Single Values comes down to the approaches each group is doing in their domain models.

    • In ARIT, they are always trying to keep the same “object shape”. So, if a function is supposed to return a Person object, then it must return either a populated Person object or a Person.Empty object.

    • In SA, they return null when a record isn’t found in the database. So, their functions can return a Person object or null.

  • Gary

    • If we make any changes to any API’s, then we would bump the major version number and implement the new return types on that.

    • At some point in the future, I think it would be good to revisit the Fusion API because it’s returning a lot of data, when we only need a little (just the changes)

...