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 中进行设置

相关文章
|
安全
阿里云服务器被xmrigMiner及pnscan及伪装httpd的病毒入侵排查记录
阿里云服务器被xmrigMiner及pnscan及伪装httpd的病毒入侵排查记录
1893 0
|
人工智能 数据可视化 Go
R绘图实战|GSEA富集分析图
GSEA(Gene Set EnrichmentAnalysis),即基因集富集分析,它的基本思想是使用预定义的基因,将基因按照在两类样本中的差异表达程度排序,然后检验预先设定的基因集合是否在这个排序表的顶端或者底端富集。
3644 0
R绘图实战|GSEA富集分析图
|
9月前
|
传感器 人工智能 自然语言处理
2026 AI 元年:人工智能从工具属性迈向原生智能的历史拐点
2026 年之所以被定义为 AI 元年,并非因为某一款模型的参数规模突破,而是因为人工智能首次完成了从“工具系统”向“原生智能系统”的整体跃迁。
898 12
|
9月前
|
数据采集 人工智能 监控
什么是数据治理?2026年数据治理的五大核心目标
2026年,数据治理跃升为驱动数字化转型的核心引擎。市场规模破860亿元,金融、政务、交通成主战场。瓴羊Dataphin以OneID/OneModel/OneService架构,融合AI实现智能元数据、质量监控与敏感识别,支撑全域协同、资产入表与实时决策,让治理真正创造业务价值。(239字)
什么是数据治理?2026年数据治理的五大核心目标
|
9月前
|
人工智能 弹性计算 对象存储
玄晶引擎:基于阿里云生态的全流程AI自动化方案,赋能中小微企业低成本数字化转型
玄晶引擎是阿里云生态原生AI自动化平台,专为中小微企业设计。依托通义千问、ACK、OSS、VectorDB等服务,实现“内容生产—流量分发—精准获客—成交转化”全流程闭环。云原生架构+零代码操作,算力成本降60%,人力节省超60%,3个月可回本。
624 15
|
9月前
|
存储 人工智能 达摩院
深度实战:在 GPU 环境下一键部署 Jimeng 中文文生图交互系统
这是一篇专为中文文生图模型Jimeng(积木/积梦)打造的实战部署指南,详解环境配置、硬核修复huggingface_hub版本冲突,并提供健壮测试与交互式脚本,助你零踩坑运行东方美学AI绘图。
1732 12
|
人工智能 自然语言处理 Serverless
AI 大模型+智能客服:自动识别客户意图,实现高效沟通
本方案旨在介绍如何部署 AI 大模型实现对客户对话的自动化分析,支持多人、多语言识别,精准识别客户意图、评估服务互动质量,实现数据驱动决策。
1638 14
|
资源调度 JavaScript 前端开发
vue-cli从0到1快速入门!
【8月更文挑战第16天】 vue-cli从0到1快速入门!
857 4
 vue-cli从0到1快速入门!
|
自然语言处理 Java API
音频的文本切换
音频的文本切换
453 0
|
存储 算法 索引
【数据结构入门精讲 | 第四篇】考研408、企业面试表专项习题
【数据结构入门精讲 | 第四篇】考研408、企业面试表专项习题
1121 0

热门文章

最新文章