PhalGo-Respones

简介: 在处理请求 Api 请求中 , 除了对 Request 之外最重要的就是 Response 了 , PhalGo 支持两种格式的参数返回一种是 Josn 一种是 XML , 在 PhalGo 中默认使用JSON进行返回 , 可以在入口文件进行全局返回参数配置或在摸个接口内部指定此接口返回的参数类型

PhalGo-Respones

在处理请求 Api 请求中 , 除了对 Request 之外最重要的就是 Response 了 , PhalGo 支持两种格式的参数返回一种是 Josn 一种是 XML , 在 PhalGo 中默认使用JSON进行返回 , 可以在入口文件进行全局返回参数配置或在摸个接口内部指定此接口返回的参数类型

Response初始化

Response 和 Request 一样需要在 Api 中进行初始化:

Response := phalgo.NewResponse(c)

返回格式

Response 默认返回格式如下:

type RetParameter struct {
    Code int         `json:"code";xml:"code"`
    Data interface{} `json:"data";xml:"data"`
    Msg  string      `json:"msg";xml:"msg"`
}

code 为请求的状态码 , data 是具体返回的数据 , msg 是返回内容的描述例如"成功" , "失败"

基础使用

RetSuccess

我们最常用的就是成功返回 , RetSuccess接受一个接口类型的参数 , 此参数会填充到 data 中 , 例子如下:

return Response.RetSuccess("hello " + name + " Welcome to PhalGo world")

如果需要返回自定的 msg 内容需要使用 SetMsg 方法 例子如下:

Response.SetMsg("成功")

注意 : 使用 RetSuccess 函数时 code 默认为 1 , msg 默认为""

RetError

当我们处理程序异常的时候 , 我们会建立一个异常返回 , RetError 需要接受两个参数一个是 error 会把报错信息填充到 msg 中 , 另外一个是 返回的code 例子如下:

return Response.RetError(errors.New("No Name"), -1)

当然你如果要返回一些 Data 内容 , 也只需要使用 SetData :

Response.SetData(map[string]string{"name" : "喵咪"})

RetCustomize

PhalGo 当然也提供了灵活结果返回方法 RetCustomize 接受三个参数 , 分别是 code data msg 开发者可以按照自己的需求返回自己想要的内容 , 例子如下:

return Response.RetCustomize(201, map[string]string{"name":"喵咪"}, "成功")

Ret

当然大家也有自己要求的返回格式 PhalGo 并不约束你需要使用 code,data,msg 这类格式 , PhalGo 提供了 Ret 方法接受一个结构类型进行返回 , 开发者可以按照约定的格式自行返回想要的内容 , 例子如下:

return Response.Ret(map[string]string{"name":"喵咪"})

Write

最简单粗暴的就是直接打印内容给到用户 , Write 接受一个 []byte 类型 , Write 默认是无格式的 , 例子如下:

Response.Write([]byte("Debug:test Write"))

SetStatus

http 请求的一个重要内容就是 Status 码 , PhalGo 可以通过 SetStatus 方法来设置 , 例子如下:

Response.SetStatus(404)

此时返回的 Status 码会是404

XML

PhalGo 在支持 Json 的情况下同时也支持 XML 返回格式 , 只需要通过 SetRetType 方法进行设置 , 例子如下:

phalgo.SetRetType(phalgo.RETMXL)

这里有一个注意的情况了 , 此设置在 API 中设置影响范围只是此 API , 如需影响全局需要在 Main 中进行设置

相关文章
|
3天前
|
关系型数据库 Serverless 分布式数据库
高峰无忧,探索PolarDB PG版Serverless的弹性魅力
在数字经济时代,数据库成为企业命脉,面对爆炸式增长的数据,企业面临管理挑战。云原生和Serverless技术革新数据库领域,PolarDB PG Serverless作为阿里云的云原生数据库解决方案,融合Serverless与PostgreSQL,实现自动弹性扩展,按需计费,降低运维成本。它通过计算与存储分离技术,提供高可用性、灾备策略和简化运维。PolarDB PG Serverless智能应变业务峰值,实时监控与调整资源,确保性能稳定。通过免费体验,用户可观察其弹性性能和价格力,感受技术优势。
|
12天前
|
Kubernetes 安全 Devops
【云效流水线 Flow 测评】驾驭云海:五大场景下的云效Flow实战部署评测
云效是一款企业级持续集成和持续交付工具,提供免费、高可用的服务,集成阿里云多种服务,支持蓝绿、分批、金丝雀等发布策略。其亮点包括快速定位问题、节省维护成本、丰富的企业级特性及与团队协作的契合。基础版和高级版分别针对小型企业和大规模团队,提供不同功能和服务。此外,云效对比Jenkins在集成阿里云服务和易用性上有优势。通过实战演示了云效在ECS和K8s上的快速部署流程,以及代码质量检测和AI智能排查功能,展示了其在DevOps流程中的高效和便捷,适合不同规模的企业使用。本文撰写用时5小时,请各位看官帮忙多多支持,如有建议也请一并给出,您的建议能帮助我下一篇更加出色。
136108 16
|
13天前
|
存储 缓存 监控
你的Redis真的变慢了吗?性能优化如何做
本文先讲述了Redis变慢的判别方法,后面讲述了如何提升性能。
102160 2
|
13天前
|
机器学习/深度学习 并行计算 算法
Transformer 一起动手编码学原理
学习Transformer,快来跟着作者动手写一个。
94233 2
|
12天前
|
存储 SQL Apache
阿里云数据库内核 Apache Doris 基于 Workload Group 的负载隔离能力解读
阿里云数据库内核 Apache Doris 基于 Workload Group 的负载隔离能力解读
阿里云数据库内核 Apache Doris 基于 Workload Group 的负载隔离能力解读
|
18天前
|
人工智能 弹性计算 算法
一文解读:阿里云AI基础设施的演进与挑战
对于如何更好地释放云上性能助力AIGC应用创新?“阿里云弹性计算为云上客户提供了ECS GPU DeepGPU增强工具包,帮助用户在云上高效地构建AI训练和AI推理基础设施,从而提高算力利用效率。”李鹏介绍到。目前,阿里云ECS DeepGPU已经帮助众多客户实现性能的大幅提升。其中,LLM微调训练场景下性能最高可提升80%,Stable Difussion推理场景下性能最高可提升60%。
|
13天前
|
存储 弹性计算 Cloud Native
1 名工程师轻松管理 20 个工作流,创业企业用 Serverless 让数据处理流程提效
为应对挑战,语势科技采用云工作流CloudFlow和函数计算FC,实现数据处理流程的高效管理与弹性伸缩,提升整体研发效能。
64688 2
|
19天前
|
消息中间件 安全 API
Apache RocketMQ ACL 2.0 全新升级
RocketMQ ACL 2.0 不管是在模型设计、可扩展性方面,还是安全性和性能方面都进行了全新的升级。旨在能够为用户提供精细化的访问控制,同时,简化权限的配置流程。欢迎大家尝试体验新版本,并应用在生产环境中。
187462 6
|
15天前
|
存储 关系型数据库 数据库
|
22天前
|
物联网 PyTorch 测试技术
手把手教你捏一个自己的Agent
Modelscope AgentFabric是一个基于ModelScope-Agent的交互式智能体应用,用于方便地创建针对各种现实应用量身定制智能体,目前已经在生产级别落地。