Web services 基于php的向grails插件项目发出请求的应用程序

Web services 基于php的向grails插件项目发出请求的应用程序,web-services,grails,grails-plugin,grails-2.0,Web Services,Grails,Grails Plugin,Grails 2.0,我有一个grails插件项目,我需要将它转换为webservice,这样我的php代码就可以向新创建的webservice发出请求 简言之,我需要公开我的grails插件项目,以便我的基于php的应用程序可以向该项目发出请求 是否支持从基于php的应用程序调用grails插件项目 任何想法都非常感谢 谢谢。例如,您可以尝试grails web服务;可以使用REST,您可以通过url调用grails应用程序,并可以通过POST、GET将参数传递给它,然后在grails控制器上处理它们 您可以调用U

我有一个grails插件项目,我需要将它转换为webservice,这样我的php代码就可以向新创建的webservice发出请求

简言之,我需要公开我的grails插件项目,以便我的基于php的应用程序可以向该项目发出请求

是否支持从基于php的应用程序调用grails插件项目

任何想法都非常感谢


谢谢。

例如,您可以尝试grails web服务;可以使用REST,您可以通过url调用grails应用程序,并可以通过POST、GET将参数传递给它,然后在grails控制器上处理它们

您可以调用URL并处理URL映射上的URL参数:

例如,如果您通过某个URL:product/调用grails应用程序,那么您将能够通过以下方式处理grails应用程序上的请求:

"/product/$id"(controller: "product", parseRequest: true) {
            action = [GET: "show", PUT: "update", DELETE: "delete", POST: "save"]
在控制器中,您可以解析请求,如下所示:

if( request.method == "GET" ){
        println( "GET REQUEST RECEIVED" )
            <......Some Code........>
        render resultList as JSON
    }else if( request.method == "POST" ){
        println( "POST REQUEST RECEIVED" )
            <......Some Code........>
        render resultList as JSON
    }
        }
if(request.method==“GET”){
println(“收到请求”)
将结果列表呈现为JSON
}else if(request.method==“POST”){
println(“收到请求后”)
将结果列表呈现为JSON
}
}

请求和响应可以xml或JSON格式处理,请看:

插件可以独立开发和测试,但为了使用它们,必须将其安装在主机应用程序中

另外,您有一个自定义插件,其中包含一些XYZ服务,您希望将其公开为Web服务。为此,您必须遵循以下步骤:

  • 创建一个grails应用程序。(不是插件)
  • 在应用程序中安装插件。(通过在应用程序的
    BuildConfig.groovy
    中定义插件)
  • 将服务公开为RESTful Web服务的一种方法是遵循@Saurabh的方法
  • 另一种方法是在插件内部使用公开插件中的服务类。(未经测试,但如果不使用REST url映射就可以实现所需功能,则可以尝试)

动机是创建一个
可部署的
组件(
war
ear
jar
),它可以
将您的定制服务作为Web服务生产/公开。与grails插件相比,grails应用程序可以实现同样的效果,grails插件只是一个打包的
zip
归档文件

你怎么知道你的插件托管在哪里?或者你只是在你的项目上谈论私有插件?这是我创建的自定义插件项目。你能将插件打包为
war
并部署它,以便我可以使用此示例REST服务吗?