• AspNetCore 路由


    1.Http特性

    除了使用[Route]特性外,常见的是使用http特性

    Http特性         Http方法       URL示例

     [HttpGet]        Get              api/blogs

     [HttpPost]      Post              api/blogs

     [HttpPut]         Put               api/blogs/1

     [HttpPatch]     Patch            api/blogs

     [HttpDelete]    Delete           api/blogs/1

    2.重定向

    //重定向到指定的URL

    Redirect("http://www.baidu.com")

    //重定向到当前应用程序的另一个URL

    LocalRedirect("account/login")

    //重定向到指定的action

    RedirectToAction("login")

    //重定向到指定的路由

    RedirectToRoute("default",new{action="login",controller="account"});

     3.返回结果

    在ControllerBase类中,对于经常用到的状态码结果都提供了一个相应的方法用以直接返回相应的对象

    状态码结果对象              对应的状态码                      描述                      ControllerBase中的方法

    OkResult                         200                                    操作成功                Ok()

    BadRequestResult          400                                    错误的请求            BadRequest()

    NotContentResult           204                                    操作成功,但未返回任何内容           NoCountent()

    NotFound                       404                                     请求资源找不到              NotFound()

    UnauthorizedResult       401                                      未授权                             Unauthorized()

    UnsupportedMediaTypeResult  415                          无法处理请求附带的媒体格式       无

    4.Mvc返回结果类型

    ViewResult  视图       

    PartialViewResult  部分视图

    JsonResult JSON

    ContentResult  JSON     return JSON()  或  return Content()

    5. 模型绑定

    使用下列特性制定不同的绑定源

    [FromHeader]  从Http请求的Header中获取参数的值

    [FromQuery] 从查询字符串中获取参数的值 HttpContext.Request["param"]

    [FromServices] 从依赖注入容器中获取参数的值

    [FromRoute] 从路由中获取参数的值

    [FromForm]  从表单中获取该参数的值

    [FromBody] 从http请求的消息正文中获取参数的值

    另外,还有两个特性用于知名参数是否需要绑定

    BindRequiredAttribute:如果没有值绑定到此参数,或绑定不成功,这个特性将添加一个ModelState错误,这也是之前用 AspNet模型绑定用于验证的判断依据

    BindNeverAtrribute 进行模型绑定时,忽略此参数

    例如

    [HttpPost]

    public IActionResult Post([FromBody] BlogDto blog,[FromHeader] string clientId)

    {

    }

  • 相关阅读:
    verilog中timescale
    [shell] if语句用法
    makefile编写
    linux下压缩解压缩命令
    python获取文件所在目录
    gvim 技巧
    vcs编译verilog/sysverilog并执行
    verilog中signed的使用
    [leetcode]_String to Integer (atoi)
    [leetcode]_Minimum Depth of Binary Tree
  • 原文地址:https://www.cnblogs.com/sundh1981/p/14123648.html
Copyright © 2020-2023  润新知