我的端点为什么返回Laravel首页而不是响应?

huangapple go评论101阅读模式
英文:

Why my endpoint is returning the Laravel homepage instead of the response?

问题

以下是您的代码的翻译部分:

  1. 我正在尝试使用Laravel创建一个API,这是我的`UserController`,位于`App\Http\Controllers`目录下:
  2. ```php
  3. <?php
  4. namespace App\Http\Controllers;
  5. use Illuminate\Http\Request;
  6. use App\Models\User;
  7. class UserController extends Controller
  8. {
  9. public function index(){
  10. $users = User::all();
  11. return $users;
  12. }
  13. public function create(Request $request){
  14. $request->validate([
  15. 'fullname' => 'required|string',
  16. 'gender' => 'required|in:male,female,other',
  17. 'birth_date' => 'required|date',
  18. 'email' => 'required|string|email|unique:users',
  19. 'password' => 'required|string',
  20. ]);
  21. $user = new User([
  22. 'fullname' => $request->fullname,
  23. 'gender' => $request->gender,
  24. 'birth_date' => $request->birth_date,
  25. 'email' => $request->email,
  26. 'password' => $request->password
  27. ]);
  28. $user->save();
  29. return response()->json(['message' => 'User created successfully'], 201);
  30. }
  31. }

这是我的api.php文件:

  1. <?php
  2. use App\Http\Controllers\UserController;
  3. use Illuminate\Http\Request;
  4. use Illuminate\Support\Facades\Route;
  5. Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
  6. return $request->user();
  7. });
  8. Route::post('/register', [UserController::class, 'create']);

在Postman中,我发送了以下请求到http://localhost:8000/api/register

  1. {
  2. "fullname": "test",
  3. "gender": "Male",
  4. "birth_date": "10-02-1998",
  5. "email": "test@gmail.com",
  6. "password": "123456"
  7. }

作为请求头,我使用了Content-Typeapplication/json

但是,我收到的不是错误消息或成功创建用户的响应,而是Laravel的首页(这是在首次运行Laravel项目时显示的页面)。

英文:

I am trying to do an API with laravel and this is my UserController which is inside App\Http\Controllers

  1. &lt;?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use App\Models\User;
  5. class UserController extends Controller
  6. {
  7. public function index(){
  8. $users = User::all();
  9. return $users;
  10. }
  11. public function create(Request $request){
  12. $request-&gt;validate([
  13. &#39;fullname&#39; =&gt; &#39;required|string&#39;,
  14. &#39;gender&#39; =&gt; &#39;required|in:male,female,other&#39;,
  15. &#39;birth_date&#39; =&gt; &#39;required|date&#39;,
  16. &#39;email&#39; =&gt; &#39;required|string|email|unique:users&#39;,
  17. &#39;password&#39; =&gt; &#39;required|string&#39;,
  18. ]);
  19. $user = new User([
  20. &#39;fullname&#39; =&gt; $request-&gt;fullname,
  21. &#39;gender&#39; =&gt; $request-&gt;gender,
  22. &#39;birth_date&#39; =&gt; $request-&gt;birth_date,
  23. &#39;email&#39; =&gt; $request-&gt;email,
  24. &#39;password&#39; =&gt; $request-&gt;password
  25. ]);
  26. $user-&gt;save();
  27. return response()-&gt;json([&#39;message&#39; =&gt; &#39;User created successfully&#39;], 201);
  28. }
  29. }

This is my api.php:

  1. &lt;?php
  2. use App\Http\Controllers\UserController;
  3. use Illuminate\Http\Request;
  4. use Illuminate\Support\Facades\Route;
  5. Route::middleware(&#39;auth:sanctum&#39;)-&gt;get(&#39;/user&#39;, function (Request $request) {
  6. return $request-&gt;user();
  7. });
  8. Route::post(&#39;/register&#39;, [UserController::class, &#39;create&#39;]);

In postman I am sending the following request to http://localhost:8000/api/register

  1. {
  2. &quot;fullname&quot;: &quot;test&quot;,
  3. &quot;gender&quot;: &quot;Male&quot;,
  4. &quot;birth_date&quot;: &quot;10-02-1998&quot;,
  5. &quot;email&quot;: &quot;test@gmail.com&quot;,
  6. &quot;password&quot;: &quot;123456&quot;
  7. }

As headers i have Content-Type application/json
Instead of getting an error or the response with the message that a user has been created, i get the Laravel home page (The one when you first run a laravel project).

答案1

得分: 1

你尝试使用以下标头:

  1. "Content-Type": "application/json"
  2. "Accept": "application/json"
英文:

you try use the headers

  1. &quot;Content-Type&quot;: &quot;application/json&quot;
  2. &quot;Accept&quot;: &quot;application/json&quot;

huangapple
  • 本文由 发表于 2023年6月22日 06:16:14
  • 转载请务必保留本文链接:https://go.coder-hub.com/76527483.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定