0

私はgrailsプラグインプロジェクトを持っています.phpコードが新しく作成されたWebサービスにリクエストできるように、それをWebサービスに変換する必要があります。

要するに、私の php ベースのアプリケーションがそれを要求できるように、私の grails プラグイン プロジェクトを公開する必要があります。

私のphpベースのアプリケーションからgrailsプラグインプロジェクトへの呼び出しを行うためのサポートはありますか?

どんなアイデアでも大歓迎です。

ありがとう。

4

2 に答える 2

1

プラグインはスタンドアロンで開発およびテストできますが、使用するにはホスト アプリケーションにインストールする必要があります。

AFAIU、Webサービスとして公開したいXYZサービスを持つカスタムプラグインがあります。そのためには、次の手順に従う必要があります。

  • Grails アプリを作成します。(プラグインではありません)
  • アプリにプラグインをインストールします。BuildConfig.groovy(アプリのプラグインを定義することにより)
  • サービスを RESTful Web サービスとして公開する 1 つの方法は、@Saurabh のアプローチに従うことです。
  • 別の方法は、プラグイン内でcxf プラグインを使用してプラグインでサービス クラスを公開することです。(未テストですが、REST url マッピングを使用せずに必要なものを達成できるかどうかを試すことができます)。

動機は、カスタム サービスを Web サービスとして使用できるdeployableコンポーネント ( warearjar)を作成することです。パッケージ化されたアーカイブproduce/exposeにすぎないgrailsプラグインと同じことを、grailsアプリケーションから実現できます。zip

于 2013-07-09T13:44:05.770 に答える
0

たとえば、Grails Web サービスを試すことができます。RESTを使用でき、URLを介してgrailsアプリケーションを呼び出し、POST、GETを介してパラメーターを渡し、grailsコントローラーでそれらを処理できます

URL を呼び出して、URL マッピングで URL パラメータを処理できます。

たとえば、grails アプリを product/ という URL から呼び出すと、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
    }
        }

リクエストとレスポンスは xml または JSON 形式で処理できます。http: //grails.org/doc/2.2.1/guide/webServices.html#RESTをご覧ください。

于 2013-07-09T07:28:25.610 に答える