Laravel, Dingo Api и Node.js : Данные не передаются

#javascript #php #node.js #laravel-5.2 #dingo-api

#javascript #php #node.js #laravel-5 #dingo-api

Вопрос:

Я никогда не работал с Dango Api.Я также новичок в node.js .Я пытаюсь перейти по ссылке (маршруту) моего приложения Laravel с помощью моего Node.js .Я использую Dango Api в своем приложении Laravel.Я пытался отобразить данные в пользовательском интерфейсе (node.js порт) и выведите эти данные на консоль.Но я получаю пустую страницу на экране и «Неопределенный» в консоли.Я совершенно новичок в API.Итак, я даже не знаю, сработает ли это.Поэтому, пожалуйста, простите меня, если этот вопрос не соответствует стандарту этого сообщества.

Вот мой маршрут api-

     $api = app('DingoApiRoutingRouter');

    $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 /
  

Комментарии:

1. Вы должны определять свои маршруты только в файле маршрутов, а не возвращать ответы и выполнять запросы, которые принадлежат контроллеру. Я предлагаю вам начать с чтения (очень хорошего) Документ Laravel о маршрутах и контроллерах. В ваших маршрутах вы указываете на метод в вашем контроллере, вот как он знает, что делать (здесь это будет whatevercontroller@welcome) Когда все это будет сделано, убедитесь, что Dingo настроен правильно (вам могут понадобиться некоторые переменные среды в вашем .env). Вы можете довольно легко протестировать свой API с помощью чего-то вроде POSTMAN. проверьте laravel.com/docs/5.2

2. Я попытался указать на контроллер.= метод. Но я получаю сообщение об ошибке. Итак, я использую это. Я не думаю, что это неправильный способ получения данных.

3. Я думаю, вам нужно настроить очень простой маршрут, очень простой контроллер и метод, который возвращает что-то простое и строит оттуда. Вам нужно понять основные концепции, потому что здесь вы идете в неправильном направлении. логика принадлежит не маршрутам, а вашему контроллеру.

4. Знаете ли вы что-нибудь о Dingo api? Если нет, зачем тратить время здесь? @Ben Dubuisson

5. Приятель, да, я использую Dingo API, но если ты не можешь правильно понять основы Laravel, ты никуда не пойдешь. Ваш комментарий оскорбителен, я пытаюсь помочь.

Ответ №1:

Не похоже, что у вас объявлен маршрут, для /api которого вы пытаетесь попасть в узел.

Вы объявили маршрут только для root ( '/' ) .

Попробуйте объявить маршрут для /api . Вы также можете установить префикс для своего API в своем .env файле, если хотите:

 API_VERSION=v1
API_PREFIX=api