http://fullstackprep.dev/Articles/sda/apidesign/api-error-handling