.Net Core Web Api_笔记06_HTTP资源操作模式Head

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>

https://ithelp.ithome.com.tw/upload/images/20210906/201074523lQwfUiGFv.png

测试效果可见没有回传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不会回传此内容
}

https://ithelp.ithome.com.tw/upload/images/20210906/20107452T9YhlRPeHO.png

这里会发现
content-encoding 跟 content-length两个内容消失了
主要是因为这两个资料会根据api回传值计算得来
这里因为我们已经删除掉改为void
因而不会有这两个资料

以上是本次的分享
本文也已同步发表至个人部落格
https://coolmandiary.blogspot.com/2021/09/net-core-web-api06httphead.html


<<:  Day 1:同步与非同步执行

>>:  【课程推荐】2021/9/25-10/3 微服务架构设计与实作 – 使用 Java Spring 与 UML

Day 28 - 用 canvas 与 pdfjs 做文件签名(上)

前述 今天用前面做过的小画家相似功能,来完成一个可以在文件上面签名的功能~ 当然也会有新的东西可以玩...

【Day12】建立React专案并安装Jest,来跑跑看第一个测试吧 -`д´-!

首先!! 我们要先来建立一个React专案 执行以下指令来建立专案 npx create-react...

咏唱防御魔法,抵御外敌攻击AWS上的服务

防御魔法 今日会继续介绍其他服务的撰写方式,因为篇幅关系,之前讲过的方式,就不会继续在讲述: EC2...

Day14 互动式CSS按钮动画(上)

以下是以此图为例的互动式CSS按钮动画范例: 变深 HTML <div class="...

Log Agent - Fluent Bit Input元件 与 Tail浅谈

Fluent bit回顾 Log Agent - Fluent Bit 简介 Log Agent -...