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

网站制作替我们购买域名什么是搜索引擎营销?

网站制作替我们购买域名,什么是搜索引擎营销?,做电影网站模板教学设计,模板网站seo参考来源go-zero官方文档https://go-zero.dev/docs/tutorials 前言 go-zero是目前star最多的go语言微服务框架,api 是 go-zero特殊的语言,类型文件,go-zero自带的goctl可以通过.api文件生成http服务代码 api文件内容编写 不可使用关键字 …

参考来源go-zero官方文档icon-default.png?t=N7T8https://go-zero.dev/docs/tutorials

前言

go-zero是目前star最多的go语言微服务框架,api 是 go-zero特殊的语言,类型文件,go-zero自带的goctl可以通过.api文件生成http服务代码

api文件内容编写

不可使用关键字

沿用了golang的关键字,这些都不可以使用

break        default      func         interface    select
case         defer        go           map          struct
chan         else         goto         package      switch
const        fallthrough  if           range        type
continue     for          import       return       var

syntax语句

代表了api语言版本,当前就是v1版本

syntax = "v1"

info语句

info对api文件编写描述信息,目前不会参与到goctl代码生成

info语句
info (
foo: "bar"
bar:
)

import语句

用于import其他api文件,支持相对和绝对路径
import "/path/to/file"

import (
"bar"
"relative/to/file"
)

数据类型

数据类型沿用golang数据类型,目前不支持数组,支持切片,不支持别名

不需要声明struct关键字

//单个结构体

type Bar {
Foo int `json:"foo"`
Bar bool `json:"bar"`
Baz []string `json:"baz"`
Qux map[string]string `json:"qux"`
}

//结构体组

type (
Int int
Integer = int
        Bar {
        Foo int `json:"foo"`
        Bar bool `json:"bar"`
        Baz []string `json:"baz"`
        Qux map[string]string `json:"qux"`
        }
)

service语句*

@server描述服务的meta信息

@server (// jwt 声明// 如果 key 固定为 “jwt:”,则代表开启 jwt 鉴权声明// value 则为配置文件的结构体名称jwt: Auth// 路由前缀// 如果 key 固定为 “prefix:”// 则代表路由前缀声明,value 则为具体的路由前缀值,字符串中没让必须以 / 开头prefix: /v1// 路由分组// 如果 key 固定为 “group:”,则代表路由分组声明// value 则为具体分组名称,在 goctl生成代码后会根据此值进行文件夹分组group: Foo// 中间件// 如果 key 固定为 middleware:”,则代表中间件声明// value 则为具体中间件函数名称,在 goctl生成代码后会根据此值进生成对应的中间件函数middleware: AuthInterceptor// 超时控制// 如果 key 固定为  timeout:”,则代表超时配置// value 则为具体中duration,在 goctl生成代码后会根据此值进生成对应的超时配置timeout: 3s// 其他 key-value,除上述几个内置 key 外,其他 key-value// 也可以在作为 annotation 信息传递给 goctl 及其插件,但就// 目前来看,goctl 并未使用。foo: bar
)

写service语句还需了解如下内容

@doc语句

对单个路由的meta信息描述

@doc (
foo: "bar"
bar: "baz"
)

@handler语句

描述单个路由的handler信息

@handler foo

路由语句
// 没有请求体和响应体的写法
get /ping// 只有请求体的写法
get /foo (foo)// 只有响应体的写法
post /foo returns (foo)// 有请求体和响应体的写法
post /foo (foo) returns (bar)

service语句的示例写法

// 带 @server 的写法
@server (prefix: /v1group: Login
)
service user {@doc "登录"@handler loginpost /user/login (LoginReq) returns (LoginResp)@handler getUserInfoget /user/info/:id (GetUserInfoReq) returns (GetUserInfoResp)
}
@server (prefix: /v1middleware: AuthInterceptor
)
service user {@doc "登录"@handler loginpost /user/login (LoginReq) returns (LoginResp)@handler getUserInfoget /user/info/:id (GetUserInfoReq) returns (GetUserInfoResp)
}

补充

路由前缀prefix

可以为同样的路由名指定不同的前缀,v1、v2

在routes.go里面,代码体现如下

服务分组group

指定分组的信息后,生成的代码更加逻辑清晰

签名开关signature

在@server部分可以设置signature为true来开启签名功能

生成routes.go代码示例如下

JWT认证

@server里面设置jwt:Auth开启

goctl生成代码如下

代码生成后的 jwt 认证,框架只做了服务端逻辑,对于 jwt token 的生成及 refresh token 仍需要开发者自行实现

中间件声明

在@server内通过middleware:来指定中间件,多个中间件逗号分隔

生成的目录结构就会有中间件代码

http://www.dinnco.com/news/40648.html

相关文章:

  • wordpress安装包下载荥阳seo
  • 可以设计什么网站广西壮族自治区人民医院
  • 哪个网站做的游戏好玩四川网络推广推广机构
  • 上哪儿找做网站百度推广怎么做的
  • 做网站项目时 需求分析的内容百度快照官网
  • 做视频特效的网站如何发布自己的网站
  • 做平面找那些网站找活网络营销与直播电商专升本
  • 红十字会三合一网站建设方案河南做网站的
  • 企业网站建设背景网络营销的现状及问题
  • wordpress播放视频该插件不支持济南优化seo公司
  • 做网站开发学什么建立网站一般要多少钱
  • 防城港装修公司口碑排行关键词优化公司哪家推广
  • 整合营销传播案例做网站关键词优化的公司
  • 分类网站上怎么做锚文本媒体发布公司
  • 昌平网站建设浩森宇特陕西seo推广
  • 香港MB网站西安网站建设公司排名
  • 北京短视频制作公司长沙seo网站排名优化公司
  • 介绍自己做的网站网站优化排名查询
  • 任何做网站seo有哪些作用
  • 深圳住房建设厅网站首页广州seo顾问
  • 做网站可以提些什么意见seo赚钱方法大揭秘
  • .中国域名的网站搜索引擎营销分析
  • 网站建设方案设计竞价账户托管公司
  • 做电力项目信息的网站广州网站优化外包
  • 蚌埠网站开发外包东莞疫情最新通告
  • 大兴网站开发网站建设重庆seo标准
  • 没有域名可以做网站seo推广效果怎么样
  • 东莞网站建设-南城石佳网页制作步骤
  • 昆明医院网站建设前端seo搜索引擎优化
  • 做网站九州科技网站如何做seo排名