假设我想在我的RESTful API中建模流程,而Campaign
只有在状态为DRAFT
时才能激活。
我可以定义MVC映射/campaigns/{id}/activate
和内部方法我可以
if (!campaign.isDraft()) {
throw new InvalidStatusException(campaign.getStatus());
}
我应该在哪个HTTP状态下映射InvalidStatusException
?
我受到了印象, 500 间隔服务器错误是不可接受的
答案 0 :(得分:0)
答案 1 :(得分:0)
由于商业域规则被违反(如果我理解正确 - 广告系列无法激活两次),我认为403 (Forbidden)
与人类可读的错误文字信息(例如“广告系列必须是草稿”)应该是好的。