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

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

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

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

Go

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

CORS

CORSとはCross-Origin Resource Sharingの頭文字をとったもので、ブラウザがオリジン以外のサーバからデータを取得するシステムのことです。

Q&A

0回答

565閲覧

go echo CORS対応について

退会済みユーザー

退会済みユーザー

総合スコア0

Echo(フレームワーク)

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

Go

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

CORS

CORSとはCross-Origin Resource Sharingの頭文字をとったもので、ブラウザがオリジン以外のサーバからデータを取得するシステムのことです。

0グッド

0クリップ

投稿2018/08/04 17:28

モバイルアプリでWebAPIを使用し、DBからデータを取得するプログラムを書いています。
クロスドメイン制約でリクエストを送ることができないため、解決したいです。

尚、"github.com/labstack/echo"はdep ensure --addでフェッチしましたが、
"github.com/labstack/echo/middleware"は下記のエラーが出たため、go getでフェッチしています。
** ✗ nothing to -add, github.com/labstack/echo is already in Gopkg.toml and the project's direct imports or required list**

・router.go

Go

1package route 2 3import ( 4 "echo-sample/controller" 5 6 "github.com/labstack/echo" 7 8 "github.com/labstack/echo/middleware" 9) 10 11func Init() *echo.Echo { 12 13 e := echo.New() 14 e.Use(middleware.CORS()) 15 16 api := e.Group("/api") 17 { 18 api.GET("/members", controller.GetMembers()) 19 } 20 return e 21}

一部抜粋ですが、下記コードでレスポンス内容を確認したいです。(現在はアラートが出ません)

js

1 let oReq = new XMLHttpRequest(); 2 oReq.open('GET', 'http://localhost:1323/api/members'); 3 oReq.send(); 4 oReq.addEventListener('load', function(event){ 5 6 window.alert(event.target.status); 7 window.alert(event.target.responseText); 8 });

エラー

router.goのe.Use(middleware.CORS())で発生

cannot use middleware.CORS() (type "github.com/labstack/echo".MiddlewareFunc) as type "echo-sample/vendor/github.com/labstack/echo".MiddlewareFunc in argument to e.Use

試したこと

https://echo.labstack.com/cookbook/cors
https://echo.labstack.com/middleware/cors
上記を参考にし、コード修正

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問