当前位置: 首页 > wzjs >正文

seo计费如何优化企业网站

seo计费,如何优化企业网站,什么网站可以做期货,wordpress网站换主机文章目录 前言一、HTTP状态码分类及常用方法二、具体返回方法示例1&#xff09; 2xx 成功类2&#xff09;4xx 客户端错误3&#xff09;5xx 服务器错误4&#xff09;其他特殊状态码 三、高级返回方式1&#xff09;使用 IActionResult 与 ActionResult<T>2&#xff09;统一…

文章目录

  • 前言
  • 一、HTTP状态码分类及常用方法
  • 二、具体返回方法示例
  • 1) 2xx 成功类
    • 2)4xx 客户端错误
    • 3)5xx 服务器错误
    • 4)其他特殊状态码
  • 三、高级返回方式
    • 1)使用 IActionResult 与 ActionResult<T>
    • 2)统一错误处理(Problem Details)
    • 3)自定义状态码结果
  • 四、最佳实践建议
    • 优先使用内置方法
    • POST创建资源时返回201
    • 模型验证统一处理
    • 异步方法一致处理
    • 生产环境隐藏敏感错误
  • 总结


前言

在ASP.NET Core Web API中,HTTP状态码用于表示请求的处理结果。

一、HTTP状态码分类及常用方法

类别常见状态码内置辅助方法使用场景
信息响应100StatusCode(100)协议切换请求
成功响应200Ok() / Ok(object)标准GET请求成功
201CreatedAtAction() / CreatedAtRoute资源创建成功(POST)
202Accepted()请求已接受但未完成处理
204NoContent()成功但无返回内容(DELETE常用)
重定向301RedirectPermanent()永久重定向
302Redirect()临时重定向
客户端错误400BadRequest()请求参数无效
401Unauthorized()未授权访问(未登录)
403Forbid()已登录但权限不足
404NotFound()资源不存在
409Conflict()资源冲突(如重复创建)
422UnprocessableEntity()请求语义正确但验证失败(常用于REST API)
服务器错误500StatusCode(500) / Problem()未处理的服务器错误
503StatusCode(503)服务不可用(维护或过载)

二、具体返回方法示例

1) 2xx 成功类

  1. 示例

    // 200 OK(带数据)
    [HttpGet("{id}")]
    public ActionResult<Item> GetItem(int id)
    {var item = _repository.GetItem(id);return Ok(item); // 自动序列化对象为JSON
    }// 201 Created(创建资源)
    [HttpPost]
    public IActionResult CreateItem(Item item)
    {_repository.Add(item);return CreatedAtAction(nameof(GetItem), new { id = item.Id }, item);
    }// 204 No Content(删除成功)
    [HttpDelete("{id}")]
    public IActionResult DeleteItem(int id)
    {_repository.Delete(id);return NoContent();
    }
    

2)4xx 客户端错误

  1. 示例

    // 400 Bad Request(手动验证)
    [HttpPost]
    public IActionResult PostItem(Item item)
    {if (item.Price <= 0){return BadRequest("价格必须大于0");}return Ok();
    }// 401 Unauthorized(未授权)
    [HttpGet("secret")]
    public IActionResult GetSecret()
    {if (!User.Identity.IsAuthenticated){return Unauthorized();}return Ok("机密数据");
    }// 422 Unprocessable Entity(验证失败)
    [HttpPost("validate")]
    public IActionResult ValidateItem(Item item)
    {if (!ModelState.IsValid){return UnprocessableEntity(ModelState); // 返回详细错误}return Ok();
    }
    

3)5xx 服务器错误

  1. 示例
    // 500 Internal Server Error(自定义错误)
    [HttpGet("error")]
    public IActionResult ThrowError()
    {try{throw new Exception("测试异常");}catch (Exception ex){return Problem(title: "服务器错误",detail: ex.Message,statusCode: 500);}
    }// 503 Service Unavailable(服务不可用)
    [HttpGet("maintenance")]
    public IActionResult Maintenance()
    {return StatusCode(503, new { Message = "系统维护中,请稍后重试" });
    }
    

4)其他特殊状态码

  1. 示例
    // 418 I'm a teapot(彩蛋状态码)
    [HttpGet("teapot")]
    public IActionResult Teapot() => StatusCode(418);// 429 Too Many Requests(限流)
    [HttpGet("limited")]
    public IActionResult LimitedRequest()
    {Response.Headers.Add("Retry-After", "60"); // 添加响应头return StatusCode(429);
    }
    

三、高级返回方式

1)使用 IActionResult 与 ActionResult

  1. 示例
    // 动态返回类型
    [HttpGet("dynamic/{id}")]
    public ActionResult<Item> GetDynamic(int id)
    {var item = _repository.GetItem(id);return item != null ? item : NotFound();
    }
    

2)统一错误处理(Problem Details)

  1. 示例
    // 返回RFC 7807标准错误格式
    [HttpGet("problem")]
    public IActionResult GetProblem()
    {return Problem(detail: "余额不足",instance: HttpContext.Request.Path,statusCode: 400,title: "支付失败");
    }
    

3)自定义状态码结果

  1. 示例
    // 继承ActionResult自定义返回
    public class CustomResult : ActionResult
    {public override void ExecuteResult(ActionContext context){context.HttpContext.Response.StatusCode = 299;context.HttpContext.Response.WriteAsync("自定义状态码");}
    }// 使用自定义结果
    [HttpGet("custom")]
    public IActionResult GetCustom() => new CustomResult();
    

四、最佳实践建议

优先使用内置方法

  1. Ok()、NotFound() 等方法更易读且自动处理序列化。

POST创建资源时返回201

  1. 必须包含Location头指向新资源(通过CreatedAtActionCreatedAtRoute)。

模型验证统一处理

  1. 使用 [ApiController] 特性时,无效模型自动返回400错误。

异步方法一致处理

  1. 异步方法返回Task<IActionResult>,用法与同步方法一致。

生产环境隐藏敏感错误

  1. 通过中间件(如UseExceptionHandler)统一处理500错误,避免泄露堆栈信息。

总结

通过适配的方法,可以清晰、规范地在ASP.NET Core Web API中返回各类HTTP状态码,满足RESTful API的设计要求

http://www.dtcms.com/wzjs/448098.html

相关文章:

  • 西安小公司网站建设百度浏览器网址是多少
  • 用ps做网站方法东莞seo外包公司哪家好
  • 14版哥斯拉的官方做的宣传网站优秀网站设计网站
  • phpcms手机网站怎么做日本站外推广网站
  • 网站制作网站建设项目规划书郑州seo网络推广
  • 常见的网络营销推广方法seo搜索引擎招聘
  • 企业文化网站建设高清视频网络服务器
  • 做网站页面视频教学常见的营销手段
  • 宁波微网站建设优化问题
  • 促进企业深圳优化公司高粱seo较
  • 中国城乡住房建设部网站如何制定会员营销方案
  • page文件转换wordpressitmc平台seo优化关键词个数
  • 珠海建网站的网络公司如何让百度快速收录网站文章
  • 做网站平台公司seo研究
  • 网站制作 苏州app运营推广是干什么
  • wordpress做的视听网站seo网站监测
  • 代购网站开发网络销售的方法和技巧
  • 望城做网站网络推广员
  • 专业网络推广策划杭州百度推广优化排名
  • 网站开发java连接数据库后百度竞价系统
  • 长春建设局网站处长软文营销文案
  • 手机网站规划百度优化师
  • 怎么做火短视频网站seo需要掌握哪些技术
  • 单页面网站入侵郑州技术支持seo
  • 保定投递网站建设选择宁波seo优化公司
  • 做电子商务网站建设工资多少钱百度官网认证多少钱一年
  • 网站建设的费用记什么科目友链交换平台
  • 做商城网站费用苏州seo排名优化课程
  • 广州哪个大学做网站制作好些的域名查询ip网站
  • 帝国cms网站模板查排名网站