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 オブジェクトとして指定します。

変更するフィールド。1 つ以上の matlab.net.http.HeaderField オブジェクトのベクトルまたはコンマ区切りリストとして指定します。

例: 'Accept','text/plain'

名前と値のペアで定義されるフィールド。FieldName は string または文字ベクトルとして指定し、FieldValueFieldName に対して有効な任意のタイプとして指定します。

フィールドに既定値を使用するには、FieldValue'' に設定します。

最後の値がない場合、空 ([]) と指定するのと同じになります。

すべて展開する

HeaderField クラスとそのサブクラス ContentLengthField を使用して 2 つの Content-Length フィールドを作成します。メッセージ内の Content-Length フィールドの値を変更します。これにより、元のヘッダー フィールドの作成方法に応じてフィールドのクラスが変更されます。

同じプロパティでヘッダー ファイルを 2 つ作成します。フィールドには同じ値がありますが、クラスが異なっています。

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 で導入