新增
不解释
继承
父类到子类
这种情况是从外部同步过来的信息(这个时候需要展示),然后经过信息完善后补充划分到子类。这个时候可以摆脱子类和父类的集成关系。把Child集成Parent改成Parent和某个NewType绑定。只是Parent和NewType的id是一致的
假设Teacher都是Staff,目前已有Staff信息,即GET /staffs/1可以得到员工信息,现在需要把这个员工变成教师,即GET /teachers/1可以得到教师信息(教师有一些员工没有的信息,例如年级),那么这样可以使用POST /teachersRequestBody使用{“staffId”:1}来表示添加一个staffId为1的员工到老师队伍里,这个时候teacher可以不继承staff的.这个时候对于Staff是没有影响的,只是新增了一个Teacher.如此看来这种方法更适合子类之间可以重叠的情况,例如一个Staff
子类到子类
上述方案无法解决的问题是子类到子类,特别是一个Object1从ChildOne移动到ChildTwo时,这时往往伴随着Object1不再出现在ChildOne中,这一点和上面的情况是不一样的。
状态
这种方法是为不同的status设置不同的URL,然后发生这种状态一定会变化的时候就POST到新状态的URL。这个和上面的子类到子类很像。区别在于状态转变不一定成功,而子类到子类更像是一个一定会成功的编辑操作。
重试
在有些对于触发和第三方交互的操作(例如重发信息)是使用POST的,这里的理解可以是认为这是一个对于第三方的新增,虽然这个操作应该是幂等的
幂等是指业务上,这个涉及到操作者的意图,对于技术上由于为了高可用而进行的重试不应当作为幂等的考量(因为这个时候技术上要求所有操作都是幂等的)
boolean
有些对象的boolean属性,或者二者绑定关系的时候。使用POST搭配DELETE使用。最典型的是GIT上的打星