grails - rip tutorial1: grailsをいめる...

14
grails #grails

Upload: others

Post on 29-Aug-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: grails - RIP Tutorial1: grailsをいめる Grailsは、コンベンションオーバコンフィグレーション、なデフォルト、なAPIのおかげでのをさ せることをとした、

grails

#grails

Page 2: grails - RIP Tutorial1: grailsをいめる Grailsは、コンベンションオーバコンフィグレーション、なデフォルト、なAPIのおかげでのをさ せることをとした、

1

1: grails 2

2

2

Examples 2

Grails 2

3

4

4

2: GSP 5

5

Examples 5

5

6

GSP 6

3: REST 8

8

Examples 8

grailsREST API 8

REST 9

GrailsHTTPS 9

4: 10

Examples 10

JAR 10

11

12

Page 3: grails - RIP Tutorial1: grailsをいめる Grailsは、コンベンションオーバコンフィグレーション、なデフォルト、なAPIのおかげでのをさ せることをとした、

You can share this PDF with anyone you feel could benefit from it, downloaded the latest version from: grails

It is an unofficial and free grails ebook created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardworking individuals at Stack Overflow. It is neither affiliated with Stack Overflow nor official grails.

The content is released under Creative Commons BY-SA, and the list of contributors to each chapter are provided in the credits section at the end of this book. Images may be copyright of their respective owners unless otherwise specified. All trademarks and registered trademarks are the property of their respective company owners.

Use the content presented in this book at your own risk; it is not guaranteed to be correct nor accurate, please send your feedback and corrections to [email protected]

https://riptutorial.com/ja/home 1

Page 4: grails - RIP Tutorial1: grailsをいめる Grailsは、コンベンションオーバコンフィグレーション、なデフォルト、なAPIのおかげでのをさ せることをとした、

1: grailsをいめるGrailsは、コンベンションオーバコンフィグレーション、なデフォルト、なAPIのおかげでのをさせることをとした、 JavaプラットフォームのになRADRapid Application Developmentフレームワークです。これは、JVMとあなたがされたオブジェクト・リレーショナル・マッピングORM、ドメインDSL、とコンパイルメタプログラミングとなどのなをしながら、 すぐにできるようにすることGroovyのにスムーズにしますプログラミング。

Grailsのホームページはここにあります

バージョン

バージョン

2.5.5 2.xレガシーラインのバージョン 2016-10-27

3.2.2 20161030の 2016624

3.2.3 3.xのバージョン 2016-11-10

Examples

Grailsのインストール

Grailsをするに、GRAILSをインストールするにはJava JDKがインストールされているがありますランタイムはJREでではありません。 JDKのインストールをしてください。こののでは、のJDK

をインストールすることをおめします。

Mac OSX、Linux、Cygwin、Solaris、FreeBSDの

Grailsのバージョンをするもなは、 sdkmanをすることです 。 sdkmanがインストールされている、Grailsののバージョンをインストールすることができます。

sdk install grails [version]

これにより、このをるためのすべてのステップがされます。 versionをスキップすると、バージョンのgrailsがインストールされます。のについてsdkman 、してくださいページをsdkman 。

Linuxの

GRAILS_HOME=$HOME/bin/grails/current

https://riptutorial.com/ja/home 2

Page 5: grails - RIP Tutorial1: grailsをいめる Grailsは、コンベンションオーバコンフィグレーション、なデフォルト、なAPIのおかげでのをさ せることをとした、

# abbreviating it using "..." for brevity PATH=$GRAILS_HOME/bin:$JAVA_HOME/bin: ... :$PATH

Windowsの

Java JDKをOracleからダウンロードし、Windowsマシンにインストールします。インストールフォルダをメモしておきます。

1.

ダウンロードページからでGrailsのバージョンをダウンロードしてください。2.

あなたがきなでGrailsファイルをします。3.

2つのしいJAVA_HOMEとGRAILS_HOME *コントロールパネル\システムとセキュリティ\システム\アドバンストシステム\タブ\のにあるWindows 10の*をするがあります。

4.

JAVA_HOME

C\ Programs \ Java \ jdk1.8.0_31

GRAILS_HOME

c\ grails \ grails-3.2.4

JAVA_HOMEとGRAILS_HOMEのをむようにWindows PATHをするがあります。パスは、コントロールパネルにもあります4を。えば、にのをします。

5.

; C\ Programs \ Java \ jdk1.8.0_31 \ bin; c\ grails \ grails-3.2.4; c\ grails \ grails-3.2.4 \ bin

インストールがしいことをするには、コマンドプロンプトをき、 GRAILS -VERSIONとします。のようなものがられるはずです

5.

| Grails Version: 3.2.4 | Groovy Version: 2.4.6 | JVM Version: 1.8.0_65

アプリケーションの

Grailsアプリケーションをするには、 grails create-appコマンドをしgrails create-app 。のコマンドは、のディレクトリにmyappというのGrailsアプリケーションをします。

grails create-app fancy-app

これをすると、しくされたアプリケーションディレクトリをれるだけでです。

cd fancy-app

その

grails run-app

https://riptutorial.com/ja/home 3

Page 6: grails - RIP Tutorial1: grailsをいめる Grailsは、コンベンションオーバコンフィグレーション、なデフォルト、なAPIのおかげでのをさ せることをとした、

// in order to run the app on a different port, e.g. 8888, use this instead grails run-app -port 8888 // in order to run the app with a secure communication grails run-app -https

アプリケーションのテスト

Grailsのcreate- *コマンドはsrc / test / groovyディレクトリのユニットテストまたはテストをにします。もちろん、これらのテストになテストロジックをみむことはあなたです。そのはユニットとテストのセクションにあります。

テストをするには、のようにtest-appコマンドをします。

grails test-app

モデルの

GrailsのモデルModel-View-Controllerパターンは、いわゆるDomain Classでされます。ドメインクラスは、grailsにおけるとののをすることができます。ドメインクラスにはもめることができます。

Grailsアプリケーションでをするには、あなたのにさまざまなを、、するためのドメインクラスをすることができます。

ドメインクラスのスタブをするには、アプリケーションフォルダでのコマンドをします。

grails create-domain-class org.fleetmanager.Car

に、されたcar.groovyファイルをき、のようにドメインクラスをします。

package org.fleetmanager class Car { String manufacturer String model String color Integer year Date acquisitionDate Boolean isElectric }

に、のGrailsコマンドをして、のドメインとビューのコントローラをします。

grails generate-all org.fleetmanager.Car

これで、アプリケーションの、のコントローラの、のがになりました。

オンラインでgrailsをいめるをむ https://riptutorial.com/ja/grails/topic/1435/grailsをいめる

https://riptutorial.com/ja/home 4

Page 7: grails - RIP Tutorial1: grailsをいめる Grailsは、コンベンションオーバコンフィグレーション、なデフォルト、なAPIのおかげでのをさ せることをとした、

2: GSP

パラメーター

とスコープ

ServletContextインスタンス

applicationContext Spring ApplicationContextインスタンス

フラッシュ フラッシュオブジェクト

grailsApplication GrailsApplicationインスタンス

でる ストリームにきむレスポンスライター

パラメータ パラメータをするためのparamsオブジェクト

HttpServletRequestのインスタンス

HttpServletResponseインスタンス

セッション HttpSessionインスタンス

webRequest GrailsWebRequestインスタンス

Examples

GSPはGroovyコードをめむ<% %> <% %>スクリプトレットブロックのをサポートしていますこれはしません

<html> <body> <% out << "Hello GSP!" %> </body> </html>

JSPのように<%= %>をしてをすることもできます。

<html> <body> <%="Hello GSP!" %> </body> </html>

GSPはJSPスタイルのサーバーサイドのコメントもサポートしています

https://riptutorial.com/ja/home 5

Page 8: grails - RIP Tutorial1: grailsをいめる Grailsは、コンベンションオーバコンフィグレーション、なデフォルト、なAPIのおかげでのをさ せることをとした、

<html> <body> <%-- This is my comment --%> <%="Hello GSP!" %> </body> </html>

GSPでは、 <%= %>はGSPのサポートのためにほとんどされません。

GSPはJSP ELまたはGroovy GStringにており、 ${expr}をとります

<html> <body> Hello ${params.name} </body> </html>

しかし、JSP ELとはなり、 ${..}ブロックにGroovyをくことができます。

すべてのリテラルで、と3でまれたをいて、Groovyをすることができます。は、のにのプレースホルダをそのにきえるです。プレースホルダーは、ドットきのは$ {}でまれ、$のがきます。 GStringがそののtoStringをびしてStringをとしてるメソッドにされるとき、プレースホルダののはそのにされます。

GSPタグ

フォーム、テキストフィールド、ラジオボタン、チェックボックス、if-elseをするためにできるさまざまなgspタグがあります。

<gif>

<g:if test="${session.role == 'admin'}"> <%-- show administrative functions --%> </g:if> <g:else> <%-- show basic functions --%> </g:else>

<g>

<g:each in="${[1,2,3]}" var="num"> <p>Number ${num}</p> </g:each>

<g:form name="myForm" url="[controller:'book',action:'list']">...</g:form>

テキストフィールド

<g:textField name="myField" value="${myValue}" />

https://riptutorial.com/ja/home 6

Page 9: grails - RIP Tutorial1: grailsをいめる Grailsは、コンベンションオーバコンフィグレーション、なデフォルト、なAPIのおかげでのをさ せることをとした、

<g:radio name="myGroup" value="1"/>

については、このリンクにってください - http://docs.grails.org/latest/guide/theWebLayer.html#tags

オンラインでGSPをむ https://riptutorial.com/ja/grails/topic/4531/gsp

https://riptutorial.com/ja/home 7

Page 10: grails - RIP Tutorial1: grailsをいめる Grailsは、コンベンションオーバコンフィグレーション、なデフォルト、なAPIのおかげでのをさ せることをとした、

3: RESTリソースとしてのドメインクラス

GrailsでRESTful APIをするもなは、ドメインクラスをRESTリソースとしてすることです。これはgrails.rest.Resourceをのドメインクラスにすることでです。

Examples

grailsをったなREST API

import grails.rest.* @Resource(uri='/books') class Book { String title static constraints = { title blank:false } }

リソースをしURIをするだけで、ドメインクラスはXMLまたはJSONのRESTリソースとしてにになります。このにより、なRESTful URLマッピングがにされ、BookControllerというコントローラがされます。

BootStrap.groovyにいくつかのテストデータをしてすことができます

def init = { servletContext -> new Book(title:"The Stand").save() new Book(title:"The Shining").save() }

そしてhttp://localhost:8080/books/1のURLをつと、レスポンスはのようにレンダリングされます

<?xml version="1.0" encoding="UTF-8"?> <book id="1"> <title>The Stand</title> </book>

URLをhttp://localhost:8080/books/1.jsonすると、のようなJSONがられます。

{"id":1,"title":"The Stand"}

XMLではなくJSONをすようにデフォルトをするは、リソースのformatsをすることでこれをうことができます。

https://riptutorial.com/ja/home 8

Page 11: grails - RIP Tutorial1: grailsをいめる Grailsは、コンベンションオーバコンフィグレーション、なデフォルト、なAPIのおかげでのをさ せることをとした、

import grails.rest.* @Resource(uri='/books', formats=['json', 'xml']) class Book { ... }

RESTリソースへのマッピング

UrlMappings.groovyファイルにURLマッピングのをしたいは、にリソースのuriをし、 UrlMappings.groovyのをUrlMappings.groovyばです。

"/books"(resources:"book")

よりくのエンドポイントをめるようにAPIをすると、になります

"/books"(resources:"book") { "/publisher"(controller:"publisher", method:"GET") }

のでは、URI /books/1/publisher.

GrailsサーバにHTTPSをする

SSLは、とばれるものをしています.HttpのわりにHttpをするがあります。これは、サーバーでデータをにち、のをさせるためです。 grailsでこのオプションをにするには、アプリをのでするがあります。のコマンド

grails run-app -https

オンラインでRESTリソースとしてのドメインクラスをむ

https://riptutorial.com/ja/grails/topic/8944/restリソースとしてのドメインクラス

https://riptutorial.com/ja/home 9

Page 12: grails - RIP Tutorial1: grailsをいめる Grailsは、コンベンションオーバコンフィグレーション、なデフォルト、なAPIのおかげでのをさ せることをとした、

4:

Examples

なJAR

Grails 3.xをするもなの1つは、サーブレットコンテナTomcat、Undertowなどをアプリケーションにめむなjarファイルをすることです。

build.gradleする

// Remove or comment out the war plugin: // apply plugin:"war" // Enable the executable jar: springBoot { executable = true } // Optional: Customize the jar properties: // https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.Jar.html jar { archiveName('myapp.jar') }

./gradlew assembleをしてする

としてられたjarはなになアプリケーションになりました

$ head build/libs/myapp.jar #!/bin/bash # # . ____ _ __ _ _ # /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ # ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ # \\/ ___)| |_)| | | | | || (_| | ) ) ) ) # ' |____| .__|_| |_|_| |_\__, | / / / / # =========|_|==============|___/=/_/_/_/ # :: Spring Boot Startup Script :: #

あなたはどんなコマンドラインアプリのとじようにすることができます

$ ./build/libs/myapp.jar Grails application running at http://localhost:8080 in environment: production

また、initサービスのようにします。

$ ln -s /opt/myapp/myapp.jar /etc/init.d/myapp $ service myapp [start|stop|status|restart]

https://riptutorial.com/ja/home 10

Page 13: grails - RIP Tutorial1: grailsをいめる Grailsは、コンベンションオーバコンフィグレーション、なデフォルト、なAPIのおかげでのをさ せることをとした、

なドキュメントは、spring-bootのドキュメントのにあります。http : //docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html

のファイル

GrailsにWebアプリケーションをくときには、アプリケーションをデプロイするために、サーブレットコンテナTomcatなどにくがある「war」ファイルがです。

まずプロジェクトディレクトリにします

cd to_project_directory

コマンドプロンプトからのファイルの1.

grails war

2.ののにあなたのアプリケーションをきれいにすることがにされます

コマンドプロンプトからのアプリケーションのクリーニング

grails clean

の2つのステップを1つにみわせると、

grails clean && grails war

また、warファイルをするをすることもできます。

grails [environment] war

ここで、 [environment]はdev 、 prod 、 testなどのをることができます。

のコマンドとはなり、warコマンドはではなく、でデフォルトでされます。

オンラインでをむ https://riptutorial.com/ja/grails/topic/3701/

https://riptutorial.com/ja/home 11

Page 14: grails - RIP Tutorial1: grailsをいめる Grailsは、コンベンションオーバコンフィグレーション、なデフォルト、なAPIのおかげでのをさ せることをとした、

クレジット

S. No

Contributors

1 grailsをいめるAbdelsalam A. Shahlol, Adeel Ansari, Andrea Zago, bronoman, Burt Beckwith, Community, Farshid Zaker, Graeme Rocher, Jason Bourne, Jesús Iglesias, rahul, saw303

2 GSP Adeel Ansari, Anshul, audittxl

3RESTリソースとしてのドメインクラス

Jason Bourne

4 erichelgeson, NachoB, Prakash Thete, saw303

https://riptutorial.com/ja/home 12