React Native - извлекать запись метода в Laravel, возвращать исключение MethodNotAllowedHttpException - PullRequest
0 голосов
/ 08 октября 2018

Я пытаюсь отправить запрос с извлечением в React Native для Laravel api, и он возвращает мне эту ошибку.

{'message':"",'exception':Symfony\\Component\\HttpKernel\\Exception\\MethodNotAllowedHttpException","file":....

Api.js (React Native):

'use strict';

var baseUrl = 'http://dot.test.192.168.1.125.xip.io/api/';

export default {

    //token = Bearer OxtHDFRWuCxWpIK9omt30fG2RivWeFtAY8VWOzlPcYh9WvX6P8Jq7OrFU4hh
    post: function(url, data, token) {
        let opt = {
            method: 'post',
            body: JSON.stringify(data),
            headers: new Headers({
                'Accept': 'application/json',
                'Content-Type': 'application/json',
                //'Content-Type': 'application/x-www-form-urlencoded'
            })
        };

        return fetch(baseUrl + url, opt);
    }

};

Laravel -

api.php

Route::namespace('Api')->middleware('auth:api')->group(function () {
   Route::post('expert/{id}/feedback', 'FeedbackController@ask');
});

feedbackController.php

<?php

namespace App\Http\Controllers\Api;

use App\User;
use Illuminate\Http\Request;
use App\Http\Requests\RequestFeedback;
use App\Http\Requests\Feedback\PostFeedbackAnswer;
use App\Services\FeedbackService;
use App\Http\Controllers\Controller;


class FeedbackController extends Controller
{
    private $feedbackService;

    public function __construct(FeedbackService $feedbackService)
    {     
        $this->feedbackService = $feedbackService;
    }

    public function ask(RequestFeedback $request, $expertId)
    {
        $feedback = $this->feedbackService->ask($request->only('text', 'project_id'), $expertId);

        return $feedback;
    }

}

Я меняю VerifyCsrfToken с

protected $except = [
   'api' => '*',
   '/api/*'
];

Я делаюне понимаю, почему это не работает ...

Я не публикую больше кода, который не позволяет мне отправить вопрос.

1 Ответ

0 голосов
/ 08 октября 2018

Изменить POST на GET.

var baseUrl = 'http://dot.test.192.168.1.125.xip.io/api/';

export default {

    //token = Bearer OxtHDFRWuCxWpIK9omt30fG2RivWeFtAY8VWOzlPcYh9WvX6P8Jq7OrFU4hh
    post: function(url, data, token) {
        let opt = {
            method: 'GET',
            body: JSON.stringify(data),
            headers: new Headers({
                'Accept': 'application/json',
                'Content-Type': 'application/json',
                //'Content-Type': 'application/x-www-form-urlencoded'
            })
        };

        return fetch(baseUrl + url, opt);
    }

};
...