routes 相关问题

有关将URL映射到控制器和操作的问题。

Rspec & Rails:如何测试控制器是否有 404 错误?它给出“没有路由匹配”错误而不是 404

我想测试应用程序响应 404 错误并有代码: 需要“spec_helper” 描述 Admin::UsersController 做的事情 描述“获取新内容” 在 { 获取 :new } 之前 它{应该

回答 2 投票 0

测试我的路线时,我收到错误 404 在 Postman 上找不到

这是我的类别表迁移文件中包含的代码: 这是我的类别表迁移文件中包含的代码: <?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { /** * Run the migrations. */ public function up(): void { Schema::create('categories', function (Blueprint $table) { $table->id(); $table->foreignId('parent_id')->nullable()->constrained('categories')->onDelete('cascade'); $table->string('name'); $table->string('icon')->nullable(); $table->timestamps(); }); } /** * Reverse the migrations. */ public function down(): void { Schema::dropIfExists('categories'); } }; 这是我的 Category.php 模型文件中包含的代码: <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Category extends Model { use HasFactory; protected $fillable = ['parent_id', 'name', 'icon']; public function scopeParentCategories($query) { return $query->whereNull('parent_id'); } public static function tree() { $allCategories = Category::get(); $rootCategories = $allCategories->whereNull('parent_id'); self::buildTree($rootCategories, $allCategories); return $rootCategories; } public function children() { return $this->hasMany(Category::class, 'parent_id'); } public function items() { return $this->belongsToMany(Item::class, 'category_items'); } public function saveSubCategories($subCategories) { foreach($subCategories as $subCategory) { $this->saveSubCategory($subCategory); } } public function saveSubCategory($subCategory) { $newSubCategory = new self(); $newSubCategory->fill($subCategory); $newSubCategory->setAttribute('parent_id', $this->id); $newSubCategory->save(); } private static function formatTree($categories, $allCategories) { foreach ($categories as $category) { $category->children = $allCategories->where('parent_id', $category->id)->values(); if ($category->children->isNotEmpty()) { self::formatTree($category->children, $allCategories); } } } } 这是我的 CategoryController.php 控制器文件中包含的代码: <?php namespace App\Http\Controllers; use App\Models\Category; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; class CategoryController extends Controller { /** * Display a listing of the resource. */ public function index() { return Category::all(); } /** * Show the form for creating a new resource. */ public function create() { // } /** * Store a newly created resource in storage. */ public function store(Request $request) { $validator = Validator::make($request->all(), [ 'name' => 'required|string|max:255', 'icon' => 'nullable|string|max:255', 'children.*.name' => 'required|string|max:255', 'children.*.icon' => 'required|string|max:255', 'children.*.parent_id' => 'nullable|exists:categories,id', ]); if ($validator->fails()) { return response()->json(['errors' => $validator->errors()], 400); } $category = Category::create($request->only('name', 'icon')); if ($request->has('children')) { foreach ($request->children as $childData) { $child = new Category($childData); $child->parent_id = $category->id; $child->save(); } } return $category; } /** * Display the specified resource. */ public function show(Category $category) { return Category::find($category); } /** * Show the form for editing the specified resource. */ public function edit(Category $category) { // } /** * Update the specified resource in storage. */ public function update(Request $request, Category $category) { $category = Category::findOrFail($category); $validator = Validator::make($request->all(), [ 'name' => 'required|string|max:255', 'parent_id' => 'nullable|exists:categories,id', 'icon' => 'nullable|string|max:255', ]); if ($validator->fails()) { return response()->json(['errors' => $validator->errors()], 400); } $category->update($request->all()); return response()->json($category); } /** * Remove the specified resource from storage. */ public function destroy(Category $category) { $category = Category::findOrFail($category); $category->delete(); return response()->json($category); } } 这是我的 api.php 路由文件中包含的代码: <?php /* |-------------------------------------------------------------------------- | API Routes |-------------------------------------------------------------------------- | | Here is where you can register API routes for your application. These | routes are loaded by the RouteServiceProvider within a group which | is assigned the "api" middleware group. Enjoy building your API! | */ use Illuminate\Support\Facades\Route; use App\Http\Controllers\CategoryController; use App\Http\Controllers\ItemController; use App\Http\Controllers\ItemOptionController; use App\Http\Controllers\OptionController; use App\Http\Controllers\OptionValueController; use App\Http\Controllers\OrderController; use App\Http\Controllers\OrderItemController; use App\Http\Controllers\PaymentController; use App\Http\Controllers\QRCodeController; use App\Http\Controllers\TableLayoutController; // API version prefix Route::prefix('v1')->group(function () { // Routes for managing categories Route::get('categories', [CategoryController::class, 'index']); Route::post('categories', [CategoryController::class, 'store']); Route::get('categories/{category}', [CategoryController::class, 'show']); Route::put('categories/{category}', [CategoryController::class, 'update']); Route::delete('categories/{category}', [CategoryController::class, 'destroy']); // Routes for managing items Route::get('items', [ItemController::class, 'index']); Route::post('items', [ItemController::class, 'store']); Route::get('items/{item}', [ItemController::class, 'show']); Route::put('items/{item}', [ItemController::class, 'update']); Route::delete('items/{item}', [ItemController::class, 'destroy']); // Routes for managing orders Route::get('orders', [OrderController::class, 'index']); Route::post('orders', [OrderController::class, 'store']); Route::get('orders/{order}', [OrderController::class, 'show']); Route::put('orders/{order}', [OrderController::class, 'update']); Route::delete('orders/{order}', [OrderController::class, 'destroy']); // Routes for managing payments Route::get('payments', [PaymentController::class, 'index']); Route::post('payments', [PaymentController::class, 'store']); Route::get('payments/{payment}', [PaymentController::class, 'show']); Route::put('payments/{payment}', [PaymentController::class, 'update']); Route::delete('payments/{payment}', [PaymentController::class, 'destroy']); // Routes for managing options Route::get('options', [OptionController::class, 'index']); Route::post('options', [OptionController::class, 'store']); Route::get('options/{option}', [OptionController::class, 'show']); Route::put('options/{option}', [OptionController::class, 'update']); Route::delete('options/{option}', [OptionController::class, 'destroy']); // Routes for managing option values Route::get('option-values', [OptionValueController::class, 'index']); Route::post('option-values', [OptionValueController::class, 'store']); Route::get('option-values/{optionvalues}', [OptionValueController::class, 'show']); Route::put('option-values/{optionvalues}', [OptionValueController::class, 'update']); Route::delete('option-values/{optionvalues}', [OptionValueController::class, 'destroy']); // Routes for managing item options Route::get('item-options', [ItemOptionController::class, 'index']); Route::post('item-options', [ItemOptionController::class, 'store']); Route::get('item-options/{itemoptions}', [ItemOptionController::class, 'show']); Route::put('item-options/{itemoptions}', [ItemOptionController::class, 'update']); Route::delete('item-options/{itemoptions}', [ItemOptionController::class, 'destroy']); // Routes for managing order items Route::get('order-items', [OrderItemController::class, 'index']); Route::post('order-items', [OrderItemController::class, 'store']); Route::get('order-items/{orderItem}', [OrderItemController::class, 'show']); Route::put('order-items/{orderItem}', [OrderItemController::class, 'update']); Route::delete('order-items/{orderItem}', [OrderItemController::class, 'destroy']); // Routes for managing QR codes Route::get('qr-codes', [QRCodeController::class, 'index']); Route::post('qr-codes', [QRCodeController::class, 'store']); Route::get('qr-codes/{qrCode}', [QRCodeController::class, 'show']); Route::put('qr-codes/{qrCode}', [QRCodeController::class, 'update']); Route::delete('qr-codes/{qrCode}', [QRCodeController::class, 'destroy']); // Routes for managing table layouts Route::get('table-layouts', [TableLayoutController::class, 'index']); Route::post('table-layouts', [TableLayoutController::class, 'store']); Route::get('table-layouts/{tableLayout}', [TableLayoutController::class, 'show']); Route::put('table-layouts/{tableLayout}', [TableLayoutController::class, 'update']); Route::delete('table-layouts/{tableLayout}', [TableLayoutController::class, 'destroy']); }); 我正在使用 Postman 来测试我的 Laravel 应用程序后端。我正在 docker 上运行我的数据库。所有路线均无效,但我在此处显示类别作为参考。我尝试运行 post 方法但失败了 愚蠢的错误: 必须在 bootstrap->cache->app.php 中提及基本路径 <?php use Illuminate\Foundation\Application; use Illuminate\Foundation\Configuration\Exceptions; use Illuminate\Foundation\Configuration\Middleware; return Application::configure(basePath: dirname(__DIR__)) ->withRouting( web: __DIR__.'/../routes/web.php', api: __DIR__.'/../routes/api.php', commands: __DIR__.'/../routes/console.php', health: '/up', ) ->withMiddleware(function (Middleware $middleware) { // }) ->withExceptions(function (Exceptions $exceptions) { // })->create();

回答 1 投票 0

CakePHP 1.3.6 中的分页+路由问题

如果我从路由网址访问结果,则无法对结果进行分页。这些是我正在使用的路线: // 消息 Router::connect('/news.rss', array('controller' => 'posts', 'action' => 'index', ...

回答 1 投票 0

我无法使用react-route-dom渲染我的ProductList

( <Col xs="9"> <Routes> <Route exact path="/" render={(props) => ( <ProductList {...props} products={this.state.products} addToCart={this.addToCart} currentCategory={this.state.currentCategory} info={productInfo} /> )} /> 这是我的 App.js 文件。这不起作用。 我查看了react-route-dom旧版本,有些地方我们必须将开关替换为路由。但任何改变都没有改变结果。我看不到我的 ProductList 组件。 “react-router-dom”:“6.23.0” 在 React Router DOM 版本 6 中,组件用于定义路由,组件用于渲染特定路由的组件。以下是如何更新 App.js 文件以使用 React Router DOM 版本 6: import { BrowserRouter as Router, Routes, Route } from 'react-router-dom'; import ProductList from './ProductList'; class App extends React.Component { state = { products: [], currentCategory: '', }; addToCart = (product) => { // Add logic to add product to cart }; render() { return ( <Router> <Routes> <Route exact path="/" element={<ProductList products={this.state.products} addToCart={this.addToCart} currentCategory={this.state.currentCategory} />} /> </Routes> </Router> ); } } export default App;

回答 1 投票 0

在用户方便时创建路线

我需要创建一个带有主页的小型应用程序,用户可以在其中填写具有唯一字段的表单。该字段将用作房间的名称,并且用户将重定向到此页面。每...

回答 1 投票 0

如何在同一页面上的 2 个 React 组件之间切换?

我正在尝试在React Js中创建一个登录和注册页面,其想法是它们应该呈现在同一页面上,并且用户应该能够在它们之间切换(类似于这个例子:

回答 1 投票 0

使用 NodeJS 作为 HTTP 服务器 - 如何避免意大利面条?

我想使用nodejs作为我正在开发的项目的轻量级网络服务器。我主要是一名 PHP 程序员,所以我的做法与我习惯的不同。 在此应用程序中,我使用 angul...

回答 2 投票 0

在部分路由上激活 Express.js 会话

我正在使用expressjs,想要使用会话对用户登录进行身份验证。网站/应用程序一方面应允许用户浏览和调查不同的产品和信息

回答 1 投票 0

如何修复 connect.router?

我正在通过 Node 为前端开发人员工作,正如 SO 上的人已经指出的那样,Connect 不再有路由模块。有些人建议使用 Express,但我不确定......

回答 2 投票 0

symfony 如何“通配所有内容”路线

我想通过以下方式在 Symfony 中创建路由:/admin/_api/* 和 /admin/*。所以,总的来说,我想要一个如下的配置: /admin/_api/用户 /admin/_api/帖子 /admin/_api/

回答 1 投票 0

节点js中的路由函数出现逻辑错误

所以我的节点项目中有一个非常常见的路由功能。但我正在处理一个我无法理解的逻辑错误。正如你所看到的,我想渲染我的 HTML 服务器端,但是当我创建时......

回答 1 投票 0

如何在react-router-dom 6中分叉路由?

我有一条路线: )} /> 用户是一个布局组件,我根据参数决定要渲染的内容。 我有 2 个选择...

回答 1 投票 0

如果从 schemaType 构建文件夹结构,是否应该使用路由组或动态路由?

尝试使用 Next.js 14 并使用 Sanity 3.30.1 尝试根据 Sanity schemaType 设置我的文件夹结构,其中两个是单例: 主页 路径:singleton/homePage.ts 内容:

回答 1 投票 0

在 Express MDN 教程中创建新路由时出现 404

我正在尝试 MDN Express 教程第 2 部分中的自我挑战部分。创建 Express 项目后,他们会提出以下问题: 在 /routes/users.js 中创建一条新路线,该路线将显示...

回答 1 投票 0

在 Laravel 中调试时如何解决“Illuminate\Support\Facades\Route”错误?

我创建了一个带有网络路由的控制器。如果我在浏览器中发出请求,我会得到输出,但是当我尝试调试时,我在调试控制台中收到以下错误: PHP 致命错误:无法...

回答 2 投票 0

使用React Router v6的空白页面没有匹配位置的路由

您好,我在“react-router-dom”方面遇到了一些问题,如果有人可以帮助我,那就太好了。 以下是代码: 索引.js 从“反应”导入反应; 从 'react-dom/

回答 1 投票 0

使用 API 路由在下一个 js 中获取“方法不允许”

尝试在下一个js中使用API路由从服务器端调用POST方法的api,但收到“方法不允许”错误。 我的 page.tsx 有一个表单;提交表单必须触发

回答 1 投票 0

Next.js 中的动态路由错误。尝试根据 slug 获取并显示个人详细信息

我是 Next.js 和服务器端渲染的新手,我正在尝试为我发布的每个作业获取单独的 slug。我正在使用应用程序路由器并设置了以下页面:src/app/Job/[s...

回答 2 投票 0

如何在Flask中正确打印request.endpoint的值?

这里的一名学生,目前正在学习 Flask 并学习如何使用 request.endpoint。 当我尝试打印它时,它显示“静态”。我希望它打印当前路线,例如:'index...

回答 1 投票 0

React.js 中使用 useParams 的未定义参数

我遇到了一个问题,尽管在我的 React 应用程序中配置了路由并正确使用了 useParams() ,但参数 language、from 和 to 都记录为未定义。设置我...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.