我正试图从HttpBuilder中获取标题,并对使用Check yii2 doc. [http://www.yiiframework.com/doc-2.0/yii-web-uploadedfile.html]
if (Yii::$app->request->isPost) {
$model->imageFile = UploadedFile::getInstance($model, 'imageFile');
$tempFilePath = $model->imageFile->tempName;
//Send Email.
}
和headers."Header name"
headers["Header name"]
所以结果不同。你能解释它是如何工作的吗?我确信HTTPBuilder builder = new HTTPBuilder();
builder.setUri("https://stackoverflow.com/")
builder.request(Method.GET) {
response.success = { resp ->
def header1 = resp.headers."Strict-Transport-Security"
def header2 = resp.headers["Strict-Transport-Security"]
println("Header toSting: ${header1}, Header class: ${header1.class}") //result: Header toSting: max-age=15552000, Header class: class java.lang.String
println("Header toSting: ${header2}, Header class: ${header2.class}") // result: Header toSting: Strict-Transport-Security: max-age=15552000, Header class: class org.apache.http.message.BufferedHeader
}
}
与something."key"
答案 0 :(得分:0)
取决于您使用这些语法的内容。
如果您在Map
上使用这些语法,那么您就是对。
但headers
字段不是Map
,而是提供这些不同语法的HeadersDecorator实例。只需单击链接即可访问相应的JavDoc。
在Groovy中使用操作符就是调用方法,你甚至可以覆盖它们来改变操作符的行为。在Map
的情况下,getAt(Object)
对值进行括号语法检索,propertyMissing(String)
如果没有具有该名称的对象属性,则对值进行点符号检索。
如果有HeadersDecorator
getAt(String)
,Header
对象和propertyMissing(String)
的括号语法检索会对标头值进行点符号检索(如果有)没有具有该名称的对象属性。