实体具有无效状态的业务流程异常,REST API中返回什么http状态
假设我想在RESTful API中对流程建模,而实体具有无效状态的业务流程异常,REST API中返回什么http状态,rest,spring-mvc,Rest,Spring Mvc,假设我想在RESTful API中对流程建模,而Campaign只有在状态为DRAFT时才能激活 我可以定义MVC映射/campetings/{id}/activate和我可以拥有的内部方法 if (!campaign.isDraft()) { throw new InvalidStatusException(campaign.getStatus()); } 我应该映射到哪个HTTP状态InvalidStatusException 我的印象是,500间隔服务器错误是不可接受的看起来很合
Campaign
只有在状态为DRAFT
时才能激活
我可以定义MVC映射/campetings/{id}/activate
和我可以拥有的内部方法
if (!campaign.isDraft()) {
throw new InvalidStatusException(campaign.getStatus());
}
我应该映射到哪个HTTP状态InvalidStatusException
我的印象是,500间隔服务器错误是不可接受的看起来很合适。您也可以使用或。因为违反了业务域规则(如果我理解正确-活动不能被激活两次),我认为将
403(禁止)
与人类可读的错误文本消息(如“活动必须是草稿”)结合使用应该是好的