我是 Rest 服务世界的新手,我有简单的带有名称的 SOAP 服务
withDrawCashFromAccount(int id, int amountToWithDraw)
depositCashToAccount(int id, int amountToDeposit)
这是不言自明的,这是一个简单的服务,因为管理团队决定转向 Restful 架构,我面临以下关于如何在 Restful API 中转换两种方法的问题
- 为了更改资源中的单个列,我们是否需要发送 资源的完整 JSON 结构?。
资源名称“帐户”
e.g Json structure:
id : 1,
name : "awesome customer",
Amount : 500
为了拥有上述两种类型的简单用例,用户可以 提取现金或用户可以存款,我很困惑如何设计 休息服务的终点。我可以说出他们的名字吗
/账户/depositCash/id, /账户/withdrawCash/id
- 我还需要考虑其他问题,例如上述调用的幂等性质吗?
目前使用 Spring Boot,从这里开始 example
最佳答案
您不一定需要发送整个 Account
对象,并且您应该能够根据自己的喜好命名端点,只要它们源自相同的基本 URL;这完全取决于您如何配置服务和 POJOS。
例如,使用 JAX-RS ,您可以用 @Path("path/you/want/here")
注释服务类指定该服务中可访问的所有方法的基本路径,后跟更具体的 @Path
每个方法的注释为它们提供唯一的路径(方法级别@Path
注释被添加到类级别一的末尾)。您可以使用 HTTP 动词注释来注释您的公共(public)方法,例如 @GET
或@POST
指定该方法将采用哪个动词。
在 REST 端点方法中,您可以使用 Jackson 将传入的 JSON 反序列化为 POJO。 ,甚至指定需要哪些属性,应如何反序列化/序列化它们,等等。只要您不需要这些属性或者您期望它们并不总是存在,您可以简单地允许丢失的 POJO 字段反序列化为 null。
关于java - 如何将 SOAP 方法转换为 Restful API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50159179/