質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Echo(フレームワーク)

Echoは、Go言語で作られたフレームワーク。非常に軽量で、小~中規模のアプリ構成を想定した仕様になっています。公式ドキュメントが用意されており、初心者でも始めやすい点が特徴です。

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

受付中

go echo jsonの確認

tyuunibyou
tyuunibyou

総合スコア0

Echo(フレームワーク)

Echoは、Go言語で作られたフレームワーク。非常に軽量で、小~中規模のアプリ構成を想定した仕様になっています。公式ドキュメントが用意されており、初心者でも始めやすい点が特徴です。

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

1回答

0評価

0クリップ

34閲覧

投稿2019/06/08 13:03

コード ```package main import( // "fmt" // "html" "net/http" // "log" "github.com/labstack/echo" "github.com/labstack/echo/middleware" // "github.com/labstack/echo/engine/standard" "github.com/jinzhu/gorm" "github.com/jinzhu/gorm/dialects/postgres" ) //フレームワークechoのインスタンスを作成 func main() { e:=echo.New() //ミドルウェア(アプリとOSの補助) e.Use(middleware.Logger()) e.Use(middleware.Recover()) //Routing(javaから情報もらってSQLデータベースへ送る) (GETはjsonで受け取り) e.GET("/items", listitems) e.POST("/items", createitems) //Routing(SQLデータベースから情報もらってjavaのほうへ送る) (PUTはjsonで送る) e.GET("/items", receiveitems) e.POST("/items", updateitems) e.GET("/items",sign_up) e.POST("/items",sign_reseve) e.Logger.Fatal(e.Start("127.0.0.1:1323")) } //userのJSONの形の指定 type ( Todo struct { TodoAdd string `json:"TodoAdd" ` Select string `json:"Select"` search string `json:"search"` delete string `json:"delete"` Update string `json:"Update"` } ) //上記の関数(listitemsなど)の中身 func listitems(c echo.Context) error { return c.JSON(http.StatusCreated,"") } func createitems(c echo.Context) error { todo := new(Todo) if err := c.Bind(todo); err != nil { return err } return c.JSON(http.StatusCreated,todo) } func receiveitems(c echo.Context) error { return c.JSON(http.StatusCreated,"") } func updateitems(c echo.Context) error { todo := new (Todo) if err :=c.Bind(todo); err !=nil{ return err } return c.JSON(http.StatusCreated,todo) } func sign_up(c echo.Context)error{ return c.JSON(http.StatusCreated) } // } // } //RDBとの接続 func gormConnect() *gorm.DB{ DBMS :="postgres" User :="root" PASS :="####" PROTOCOL :="tcp(##.###.##.###:3306)" DBNAME :="##" CONNECT=USER+":"+PASS+"@"+PROTOCOL+"/"+DBNAME dv,err :=gorm.Open(DBMS,CONNECT) if err !=nil{ panic(err.Error()) } return db } func main (){ db :=gormConnect() defer db.Close() } //SELECT文(単一) type event struct{ User_name int "json:user_name" Id int `json:id` User_id int `json:user_id` text int `json:text` year int `json:year` month int `json:month` day int `json:day` } func main (){ db :=gormConnect() defer db.Close //構造のインスタンス化 eventEx :=event{} //IDの指定 eventEx.Id = "text first literl" //指定したIDをもとにレコードを一つ引っ張ってくる db.First(&eventEx) } //INSERT文 func main () { db :=gormConnect() defer db.Close() //構造体のインスタンス化 eventEx := event{} //挿入したい情報を構造体に与える eventEx.Id =0 eventEx.User_Id=2 eventEx.day=19 //INSERTを実行 db.create(&eventEx) } //DELETE文 func main(){ db :=gormConnect() defer db.Close() //構造体のインスタンス化 eventEx :=event{} //削除したいレコードIDを指定 event.EX.Id = "" //このままだとテーブル内のレコードがすべて消えるため、削除したいレコードの情報を集める db.First(&eventEx) //完全にレコードを特定できる状態で削除を行う db.Delete(&eventEx) } //UPDATE文 func main(){ db :=gormConnect() defer db.Close() //構造体のインスタンス化 eventexBefore :=event{} //更新したいレコードを指定する eventexBefore.Id = "" //更新後のレコード情報の生成 eventExAfter :=eventexBefore db.First(&eventExAfter) eventExAfter.year = 2015 //更新を実行 db.Model(&eventexBefore).Update(&eventExAfter) //上記で更新できない場合は db.save(&eventExAfter) } } java→go→postgres sqlという流れで繋ぐ過程でgoのところを書いてみたのですが、あっているのか不安で質問しました。 フレームワークはechoを使い、GETとPOSTで書いてみました。 また、jsonでマッピングし受け渡しできるようにコードを書いたのですが、あっているのかわからず質問という形で投稿しました

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

nobonobo
nobonobo

2019/06/10 23:07

コードをコードブロックの中に入れてください。有意な記号とかが消えてしまっています。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Echo(フレームワーク)

Echoは、Go言語で作られたフレームワーク。非常に軽量で、小~中規模のアプリ構成を想定した仕様になっています。公式ドキュメントが用意されており、初心者でも始めやすい点が特徴です。

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。