首页 > 解决方案 > grails 中的 Web 服务 API

问题描述

'我在应用程序中的要求是实现接受 json 响应的 Web 服务,并将数据元素绑定到我们应用程序中的域,然后保存到数据库。一些博客建议使用 URLMappings.groovy 文件中的 URI 定义控制器操作,或者另一个选项是将域表示为 Rest Resource 注释。

我已经在我的 Grails 控制器类中为给定的要求编写了以下代码,并让我知道是否需要任何其他配置才能让其他人访问这个端点

json response:
-------------
{
  "orderId": 1,
  "orderDateTime": "07/10/2020",
  "orderTypeId": 1,
  "SiteId":  "5"
}

Order Controller:
----------------
    static allowedMethods = [
            saveOrder: ["GET","POST"]
    ]

   def saveOrder() {
        def m=[:]
        def orderJson = request.JSON
        def orderInstance = new Order()
        orderInstance.properties = orderJson

        try {
            m.id = orderService.saveOrder(orderInstance)
            if(m.id)
                m.successMsg = "Successfully created Order for ......."
        }
        catch(e) {
            log.error("Error creating Order",e)
            render status:"An error occurred while processing your request.  This order 
    HAS NOT been processed."
            return
        }
    render m as JSON
}

\\

标签: web-servicesgrails

解决方案


推荐阅读