代码之家  ›  专栏  ›  技术社区  ›  forum.test17

如何将SOAP方法转换为restful API?

  •  1
  • forum.test17  · 技术社区  · 8 年前

    我对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
    
    • 为了拥有以上两种类型的简单用例,用户可以 提取现金或用户可以存款,我对如何设计 rest服务的终点。我能说出他们的名字吗

      /账户/存款现金/身份证, /账户/取款现金/身份证

      • 还有什么我需要像上面调用的幂等性质一样思考的吗?

    从现在起,当前正在使用spring boot example

    1 回复  |  直到 8 年前
        1
  •  0
  •   Austin Schaefer    8 年前

    您不一定需要发送整个 Account 对象,并且您应该能够随意命名端点,只要它们来自相同的基本URL;这完全取决于您如何配置服务和POJO。

    例如,使用 JAX-RS ,可以使用 @Path("path/you/want/here") 为该服务中可访问的所有方法指定基本路径,然后是更具体的 @Path 每个方法的注释,为其提供唯一的路径(方法级别 @路径 注释添加到类级别1的末尾)。您可以使用HTTP动词注释对公共方法进行注释,如 @GET @POST 指定该方法将采用哪个谓词。

    在REST端点方法中,可以使用 Jackson ,甚至可以指定需要哪些属性,如何反序列化这些属性,等等。只要不需要这些属性,或者希望它们不总是存在,就可以简单地允许丢失的POJO字段反序列化为null。