You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Postman的Get请求在ASP.NET控制器中失效,请求排查解决

Troubleshooting Postman Requests & Implementing POST Endpoints in ASP.NET Core

Hey there! Let's work through your issues step by step—switching from Spring/Java to ASP.NET can feel a bit jarring at first, but we'll get this sorted out.

1. Fixing Postman GET Request Failures

First, let's figure out why Chrome works but Postman doesn't. The most common culprits here are:

  • SSL Certificate Trust Issues: Chrome automatically trusts the local development certificate generated by Visual Studio, but Postman doesn't by default. Here's how to fix it quickly:

    • Open Postman, click the gear icon in the top right to open Settings > Go to the General tab
    • Toggle off SSL certificate verification (this is totally safe for local development testing)
  • URL Typos: Double-check that the URL in Postman matches exactly what you used in Chrome: https://localhost:44338/api/user/mock (even though ASP.NET routing is case-insensitive, it's easy to mistype a character without noticing).

  • Proxy Conflicts: If you're behind a corporate proxy, Postman might route requests through it while Chrome uses your system's proxy settings. Try disabling proxy in Postman's settings if this applies to you.

2. Implementing a POST Request Endpoint

Adding a POST endpoint is straightforward once you get familiar with ASP.NET Core's attribute-based routing. Here's how to update your controller:

First, make sure your User class has public getters/setters (so it can be properly serialized/deserialized):

public class User
{
    public string Id { get; set; }
    public string Password { get; set; }
    public string Email { get; set; }
}

Then add the POST method to your UserController:

[Route("api/[controller]")]
[ApiController]
public class UserController : ControllerBase
{
    // Your existing GET mock endpoint
    [HttpGet("mock")]
    public ActionResult<User> GetUser()
    {
        User user = new User();
        user.Id = "adasds";
        user.Password = "adadasd";
        user.Email = "adasd@sads.com";
        return user;
    }

    // New POST endpoint for creating users
    [HttpPost("create")]
    public ActionResult<User> CreateUser([FromBody] User newUser)
    {
        // Add basic validation (adjust based on your needs)
        if (string.IsNullOrWhiteSpace(newUser.Email) || string.IsNullOrWhiteSpace(newUser.Password))
        {
            return BadRequest("Email and Password cannot be empty.");
        }

        // Mock user creation (in a real app, you'd save to a database here)
        newUser.Id = Guid.NewGuid().ToString(); // Generate a unique ID
        return Ok(newUser); // Return the created user with a 200 OK status
    }
}

To test this in Postman:

  • Set the request method to POST
  • Use the URL https://localhost:44338/api/user/create
  • Go to the Body tab, select raw and set the format to JSON
  • Paste a sample payload like:
    {
        "email": "test@example.com",
        "password": "test123"
    }
    
  • Send the request—you should get back the user with a generated unique ID.

3. Changing the Local Development Port

If you want to modify the port your app runs on, here's how:

  • In your Visual Studio project, navigate to the Properties folder and open launchSettings.json
  • Look for the iisSettings section—update the sslPort value to your desired HTTPS port (e.g., 44300)
  • Also update the applicationUrl in the profiles section (both the HTTP and HTTPS URLs) to match the new port
  • Save the file, restart your application, and the new port will be active.

内容的提问来源于stack exchange,提问作者Thadeu Melo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 06:36:46