HttpHead操作是只会回传Http Header部分资讯的api请求
所以不会返回函数回传的主体本文
只会回传Response Header区块的内容
这里我们一样用前几篇的专案
在TeacherController.cs
新增一个web api action并用 HttpHead属性来注记
[HttpHead("head")]
public string HeaderMessage()
{
return "test 123";//用HttpHead不会回传此内容
}
新增一个HeaderTeacher.html来做client端呼叫测试
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Header测试</title>
<script src="jquery/jquery.min.js"></script>
</head>
<body>
<div>
<input type="button" id="btnHeader" value="get header info" />
<span id="msg"></span>
</div>
<script type="text/javascript">
$("#btnHeader").click(function () {
$.ajax({
//请求模式
type: "head",
//请求的URL
url: "api/Teacher/head",
success: function (result,status,xhr) {
$("#msg").html(xhr.getAllResponseHeaders());
}
});
});
</script>
</body>
</html>
测试效果可见没有回传string要返回的内容
只有回传response header资讯
比方开发框架、server名称、版本
content-encoding: gzip
content-length: 126
content-type: text/plain;
charset=utf-8 date: Mon, 06 Sep 2021 05:37:08 GMT
server: Microsoft-IIS/10.0
vary: Accept-Encoding
x-powered-by: ASP.NET
因此通常会用void来定义
这里改为void method再次测试
[HttpHead("head")]
public void HeaderMessage()
{
//return "test 123";//用HttpHead不会回传此内容
}
这里会发现
content-encoding 跟 content-length两个内容消失了
主要是因为这两个资料会根据api回传值计算得来
这里因为我们已经删除掉改为void
因而不会有这两个资料
以上是本次的分享
本文也已同步发表至个人部落格
https://coolmandiary.blogspot.com/2021/09/net-core-web-api06httphead.html
>>: 【课程推荐】2021/9/25-10/3 微服务架构设计与实作 – 使用 Java Spring 与 UML
前述 今天用前面做过的小画家相似功能,来完成一个可以在文件上面签名的功能~ 当然也会有新的东西可以玩...
首先!! 我们要先来建立一个React专案 执行以下指令来建立专案 npx create-react...
防御魔法 今日会继续介绍其他服务的撰写方式,因为篇幅关系,之前讲过的方式,就不会继续在讲述: EC2...
以下是以此图为例的互动式CSS按钮动画范例: 变深 HTML <div class="...
Fluent bit回顾 Log Agent - Fluent Bit 简介 Log Agent -...