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은 string형이나 문자형 벡터로 지정되고, FieldValueFieldName에 유효한 모든 유형으로 지정됩니다.

필드에 디폴트 값을 사용하려면 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에 개발됨