首页 > 解决方案 > 为什么 api 请求会从 api.php 路由转到 web.php 路由?

问题描述

我正在使用 laravel RestfulApi 项目。我面临着意想不到的麻烦。当我尝试向 api.php 路由发送 API 请求时,它会转到 web.php 路由。但如果我不在控制器文件中使用验证,代码运行良好。我只在使用验证时遇到上述问题。下面是我的代码。


Api.php 路由


<?php

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;

Route::get('/showingData','UserContactController@show');
Route::post('/storingData','UserContactController@store');

Web.php 路由

 <?php

   use Illuminate\Support\Facades\Route;


    Route::get('/', function () {
      return view('welcome');
    });

UserContactController.php

    <?php

namespace App\Http\Controllers;

use App\UserContact;
use Illuminate\Http\Request;

class UserContactController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        $this->validate($request,[
            'name'=>'required|max:5'
        ]);
        $userContact=new UserContact();
        $userContact->name=$request->input('name');
        $userContact->email=$request->input('email');
        $userContact->description=$request->input('description');
        $userContact->visibility=$request->input('visibility');
        $userContact->created_by=$request->input('created_by');
        $userContact->save();
        return response()->json([
            "message"=>"student record created"
        ],201);
    }
}

UserContac.php 模型

    <?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class UserContact extends Model
{
    //
}


----------

我的邮递员网址

 http://amaderproject.test/api/storingData

标签: phplaravelrestvalidationroutes

解决方案


推荐阅读