The server side should send error code and error message. Is that all?
Yes, basically it will work, but not perfect yet.
What you need to do:
1. Differentiate known, user-readable errors from unknown, developer-readable errors.
2. Send an error ID to client side when there is an unknown error, with which the client developer can help server side developer locate the error’s detailed information, thus more easily troubleshoot the problem.
An example in Java:
public abstract class Err { protected String errCode; ...
public class KnownErr extends RestErr { private String errMsg; ...
public class UnknownErr extends Err { private String devErrMsg; //the error ticket private String exceptionId; ...
//You must have had a global exception handler. Do something like, String exceptionId = Thread.currentThread().getName() + "-" + DateFormatUtils.format(new Date(), "yyyyMMddHHmmsSSS") + "-" + RandomStringUtils.randomAlphanumeric(5); // first log it logger.error("Unknown Server Error. Exception Id = " + exceptionId, ex); UnknownErr err = new UnknownErr(someErrCode, exceptionNameAsDevErrMsg, exceptionId); sendResponse(err); ...