Main Content

changeFields

类: matlab.net.http.Message
命名空间: matlab.net.http

更改消息标头中的现有字段

说明

示例

msg = changeFields(msg,fields) 将每个消息中的现有字段更改为 fields 中指定的名称、值和类型,并返回更新后的消息。如果某个现有字段的字段名称与 fields 中的名称匹配(不区分大小写),此语法可能会更改现有字段的类。

在以下情况下,此方法会引发错误:

  • 指定的所有字段都不在标头中。

  • 有多个字段具有指定的名称。

msg = changeFields(msg,FieldName1,FieldValue1,...,FieldNameN,FieldValueN) 将具有指定名称的字段更改为指示的值。

名称匹配不区分大小写。但是,如果您指定的名称与现有字段名称的大小写不同,字段名称将更改为指定的名称。这种用法不会更改现有字段的类。

输入参数

全部展开

消息,指定为 matlab.net.http.Message 对象。

要更改的字段,指定为向量或由一个或多个 matlab.net.http.HeaderField 对象组成的逗号分隔列表。

示例: 'Accept','text/plain'

由名称-值对组定义的字段。FieldName 指定为字符串或字符向量,FieldValue 指定为对 FieldName 有效的任何类型。

要使用此字段的默认值,请将 FieldValue 设置为 ''

如果最后一个值缺失,则相当于指定空值 ([])。

示例

全部展开

使用 HeaderField 类及其子类 ContentLengthField 创建两个 Content-Length 字段。更改一条消息中的 Content-Length 字段的值,该字段的类将改变,具体取决于您创建原始标头字段的方式。

创建两个具有相同属性的头文件。这些字段的值相同,但类不同。

h1 = matlab.net.http.HeaderField('Content-Length',5);
h2 = matlab.net.http.field.ContentLengthField(5);
compareNames = eq(h1.Name,h2.Name)
compareNames = logical
   1

compareValues = eq(h1.Value,h2.Value)
compareValues = logical
   1

使用 h1 标头字段创建请求消息并显示其类。

r = matlab.net.http.RequestMessage;
r.Header= h1;
h1Class = class(r.Header)
h1Class = 
'matlab.net.http.HeaderField'

使用 h2 标头字段更改 Content-Length 标头字段。标头字段类将改变。

r1 = r.changeFields(h2);
h2Class = class(r1.Header)
h2Class = 
'matlab.net.http.HeaderField'

使用名称-值对组更改 Content-Length 标头字段。标头字段类不会改变。

r1 = r.changeFields('Content-length',5);
class(r1.Header)
ans = 
'matlab.net.http.HeaderField'

版本历史记录

在 R2016b 中推出