Java 我们应该使用什么肥皂,什么时候应该使用REST?
我们什么时候应该使用肥皂,什么时候应该使用REST? 有人能给出一个合理的答案吗 这是在一次采访中被问到的。我说这取决于与其他方的合同。我不知道这是对还是错。有人能帮忙吗 我指的是下面的结构Java 我们应该使用什么肥皂,什么时候应该使用REST?,java,rest,soap,Java,Rest,Soap,我们什么时候应该使用肥皂,什么时候应该使用REST? 有人能给出一个合理的答案吗 这是在一次采访中被问到的。我说这取决于与其他方的合同。我不知道这是对还是错。有人能帮忙吗 我指的是下面的结构 <?xml version='1.0' Encoding='UTF-8' ?> <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header>
<?xml version='1.0' Encoding='UTF-8' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Header>
<m:reservation xmlns:m="http://travelcompany.example.org/reservation"
env:role="http://www.w3.org/2003/05/soap-envelope/role/next">
<m:reference>uuid:093a2da1-q345-739r-ba5d-pqff98fe8j7d</m:reference>
<m:dateAndTime>2007-11-29T13:20:00.000-05:00</m:dateAndTime>
</m:reservation>
<n:passenger xmlns:n="http://mycompany.example.com/employees"
env:role="http://www.w3.org/2003/05/soap-envelope/role/next">
<n:name>Fred Bloggs</n:name>
</n:passenger>
</env:Header>
<env:Body>
<p:itinerary xmlns:p="http://travelcompany.example.org/reservation/travel">
<p:departure>
<p:departing>New York</p:departing>
<p:arriving>Los Angeles</p:arriving>
<p:departureDate>2007-12-14</p:departureDate>
<p:departureTime>late afternoon</p:departureTime>
<p:seatPreference>aisle</p:seatPreference>
</p:departure>
<p:return>
<p:departing>Los Angeles</p:departing>
<p:arriving>New York</p:arriving>
<p:departureDate>2007-12-20</p:departureDate>
<p:departureTime>mid-morning</p:departureTime>
<p:seatPreference></p:seatPreference>
</p:return>
</p:itinerary>
</env:Body>
</env:Envelope>
uuid:093a2da1-q345-739r-ba5d-pqff98fe8j7d
2007-11-29T13:20:00.000-05:00
弗雷德·布洛格斯
纽约
洛杉矶
2007-12-14
下午晚些时候
过道
洛杉矶
纽约
2007-12-20
凌晨
用很少的话,使用REST,您可以描述与数据库查找、插入、更新和删除相同的操作。在REST中,这样的操作与HTTP命令配对:GET、PUT、POST、DELETE。这也是REST被称为“状态转移”的原因,因为您可以像在数据库中一样移入/移出对象,换句话说,就是更改“模型”的状态
另一方面,SOAP更多地反映了一种远程调用过程(RPC),其中消息的结构主要由XML构成,这意味着在SOAP中,您不需要简单地传输数据,而是提交命令。在SOAP中,您可以像在编程语言中一样定义方法和参数。关于最后一点,允许客户端使用SOAP服务定义的“方法”(实际上是结构良好的XML消息,带有名称和参数),同一服务必须发布一个XML文档,描述它可以接受的消息及其格式:如果该方法不存在,它会抛出一个类似“不支持服务”的错误.同意了什么?还有什么原因?