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

旅游网站模板psd百度网盘首页

旅游网站模板psd,百度网盘首页,做毕业设计资料网站好,新疆网站开发价格路由是URI到函数的映射。 一个URI含: http://localhost:8080/user/find?id11 协议,比如http,https等ip端口或者域名,比如127.0.0.1:8080或者www.test.compath,比如 /pathquery,比如 ?query 同时访问的时候&#x…

在这里插入图片描述

路由是URI到函数的映射。

一个URI含: http://localhost:8080/user/find?id=11

  • 协议,比如http,https等
  • ip端口或者域名,比如127.0.0.1:8080或者www.test.com
  • path,比如 /path
  • query,比如 ?query

同时访问的时候,还需要指明HTTP METHOD,比如

  • GET

    GET方法请求一个指定资源的表示形式. 使用GET的请求应该只被用于获取数据.(查询)

  • POST

    POST方法用于将实体提交到指定的资源,通常会导致在服务器上的状态变化(新增)

  • HEAD

    HEAD方法请求一个与GET请求的响应相同的响应,但没有响应体.

  • PUT

    PUT方法用请求有效载荷替换目标资源的所有当前表示

  • DELETE

    DELETE方法删除指定的资源

  • CONNECT

    CONNECT方法建立一个到由目标资源标识的服务器的隧道。

  • OPTIONS

    OPTIONS方法用于描述目标资源的通信选项。

  • TRACE

    TRACE方法沿着到目标资源的路径执行一个消息环回测试。

  • PATCH

    PATCH方法用于对资源应用部分修改。

使用的时候,应该尽量遵循其语义

1. RESTful API规范

RESTful API 的规范建议我们使用特定的HTTP方法来对服务器上的资源进行操作。

比如:

  1. GET,表示读取服务器上的资源 (查)
  2. POST,表示在服务器上创建资源 (增)
  3. PUT,表示更新或者替换服务器上的资源 (改)
  4. DELETE,表示删除服务器上的资源 (删)
  5. PATCH,表示更新/修改资源的一部分

2. 请求方法

比如

	r.GET("/get", func(ctx *gin.Context) {ctx.JSON(200, "get")})r.POST("/post", func(ctx *gin.Context) {ctx.JSON(200, "post")})r.DELETE("/delete", func(ctx *gin.Context) {ctx.JSON(200, "delete")})r.PUT("/put", func(ctx *gin.Context) {ctx.JSON(200, "put")})

如果想要支持所有:

r.Any("/any", func(ctx *gin.Context) {ctx.JSON(200, "any")})

如果想要支持其中的几种:

   r.GET("/hello", func(ctx *gin.Context) {//数组 map list 结构体ctx.JSON(200, gin.H{"name": "hello world",})})r.POST("/hello", func(ctx *gin.Context) {//数组 map list 结构体ctx.JSON(200, gin.H{"name": "hello world",})})

3. URI

URI书写的时候,我们不需要关心scheme和authority这两部分,我们主要通过path和query两部分的书写来进行资源的定位。

  • 静态url,比如/hello/user/find

    r.POST("/user/find", func(ctx *gin.Context) {
    })
    
  • 路径参数,比如/user/find/:id

    r.POST("/user/find/:id", func(ctx *gin.Context) {param := ctx.Param("id")ctx.JSON(200, param)})
    
  • 模糊匹配,比如/user/*path

    r.POST("/user/*path", func(ctx *gin.Context) {param := ctx.Param("path")ctx.JSON(200, param)
    })
    

4. 处理函数

定义:

type HandlerFunc func(*Context)

通过上下文的参数,获取http的请求参数,响应http请求等。

5. 分组路由

在进行开发的时候,我们往往要进行模块的划分,比如用户模块,以user开发,商品模块,以goods开头。

或者进行多版本开发,不同版本之间路径是一致的,这种时候,就可以用到分组路由了。

比如

   ug := r.Group("/user"){ug.GET("find", func(ctx *gin.Context) {ctx.JSON(200, "user find")})ug.POST("save", func(ctx *gin.Context) {ctx.JSON(200, "user save")})}gg := r.Group("/goods"){gg.GET("find", func(ctx *gin.Context) {ctx.JSON(200, "goods find")})gg.POST("save", func(ctx *gin.Context) {ctx.JSON(200, "goods save")})}
http://www.dtcms.com/wzjs/342432.html

相关文章:

  • 网站开发技术三大件百度灰色关键词排名
  • 怎么做一网站培训课程表
  • 电商运营包括哪些方面seo怎么去优化
  • 哪里有教用java做网站电话销售如何快速吸引客户
  • 嘉祥网站建设公司广州百度关键词搜索
  • 辽宁省住房建设厅网站科技中心运营网站是什么意思
  • 妇科医院免费的咨询专业关键词优化平台
  • 自适应网站ui做几套网站建设平台软件
  • 网站平台做推广方案设计旺道seo
  • 自己搭建公网ip服务器二十个优化
  • 温州建设网站公司哪家好百度网盘登录入口网页版
  • java网站开发的书籍百度官方网址
  • 影视网站设计论文网络营销公司排行榜
  • 辛集做网站企业网站怎么制作
  • 帮做钓鱼网站会怎样上海网站优化
  • 移动电商网站开发需求文档网络营销什么意思
  • 做b2b专业网站一般有效果吗优化最狠的手机优化软件
  • 做音乐网站的目的和意义优化网站关键词排名软件
  • 网站建设规划书河北广州seo优化外包公司
  • 手机可以制作h5的软件有哪些嘉兴seo外包
  • 临河网站建设深圳百度推广
  • 物流推广做哪个网站百度地图推广
  • 备案老域名搜索引擎关键词优化方案
  • 重庆住房城乡建设委员会官方网站seo百度站长工具查询
  • 网站建设的难点在哪里秦皇岛seo排名
  • 网站建设 要学多久c++培训班学费一般多少
  • 遵义网站建设遵义seo词条
  • 永久在线观看电影网址seo入门基础教程
  • wordpress主题xstoreseo基础知识培训
  • 上海800做网站站长权重