2016-10-04 131 views
0

我從來沒有與Dango Api合作過。我也是node.js.的新手。我試圖用我的Node點擊我的Laravel應用程序的鏈接(Route) .js.我在我的Laravel應用程序中使用了Dango Api。我試圖向UI(node.js端口)顯示數據並將該數據輸出到控制檯。但是,我在屏幕上顯示空白頁面,並在控制檯中顯示「Undefined」我在API中是全新的,所以我甚至不知道它是否會起作用。所以如果這個問題不適合按照這個社區的標準來考慮,請諒解。Laravel,Dingo Api和Node.js:數據未通過

這裏是我的api路由 -

$api = app('Dingo\Api\Routing\Router'); 

    $api->version('v1', function ($api) { 

    $api->get('/',function(){ 

    $user= User::where('id',1)->findOrFail(); 

    return response()->json($user); 
    }); 


}); 

這是我的Node.js文件:

var express = require('express'); 
var app=express(); 
app.get('/api', function (req, res) { 
res.send(req.user); 
console.log(req.user); 
}) 

var server = app.listen(8081, function() { 
    var host = 'localhost' 
    var port = 8000 

    console.log(host,port); 
}) 

現在,我正在本地主機上此錯誤:8081

Cannot GET/
+0

您應該只在路由文件中定義你的路由,而不是返回響應並做查詢,在該控制器所屬:如果你願意,也可以爲你的API前綴在.env文件。我建議你首先閱讀關於路線和控制器的(非常好的)Laravel doco。在你的路由中,你指向了你的控制器中的一個方法,這就是它知道該怎麼做的方式(這裏是anycontroller @ welcome)當這一切都完成之後,確保Dingo的設置正確(你可能需要一些環境變量。 ENV)。你可以用像POSTMAN這樣的東西來測試你的API。檢查出https://laravel.com/docs/5.2/ –

+0

我試圖指向一個控制器。= method.But我得到一個錯誤。所以,我用這個。我不認爲這是一個錯誤的方式來獲取數據。 –

+0

我認爲你需要設置一個非常基本的路線,一個非常基本的控制器和方法,從那裏返回一些簡單的東西和構建。你需要了解基本概念,因爲你在這裏走錯了方向。邏輯不屬於路由,而是屬於您的控制器。 –

回答

0

它看起來並不像你有你試圖在節點擊中申報/api的路線。

您只聲明瞭根的路由('/')。

嘗試聲明路線/api

API_VERSION=v1 
API_PREFIX=api 
+0

不,這是正確的。請參閱Dingo Api文檔。 –

相關問題