File tree Expand file tree Collapse file tree 2 files changed +3
-3
lines changed Expand file tree Collapse file tree 2 files changed +3
-3
lines changed Original file line number Diff line number Diff line change @@ -16,7 +16,7 @@ Web应用反馈给客户端的信息中的大部分内容是静态的,不变
16
16
17
17
func handler (w http .ResponseWriter , r *http .Request ) {
18
18
t := template.New (" some template" ) // 创建一个模板
19
- t, _ = t.ParseFiles (" tmpl/welcome.html" , nil ) // 解析模板文件
19
+ t, _ = t.ParseFiles (" tmpl/welcome.html" ) // 解析模板文件
20
20
user := GetUser () // 获取当前用户信息
21
21
t.Execute (w, user) // 执行模板的merger操作
22
22
}
@@ -33,7 +33,7 @@ func handler(w http.ResponseWriter, r *http.Request) {
33
33
上面我们演示了如何解析并渲染模板,接下来让我们来更加详细的了解如何把数据渲染出来。一个模板都是应用在一个Go的对象之上,Go对象的字段如何插入到模板中呢?
34
34
35
35
### 字段操作
36
- Go语言的模板通过` {{}} ` 来包含需要在渲染时被替换的字段,` {{.}} ` 表示当前的对象,这和Java或者C++中的this类似,如果要访问当前对象的字段通过` {{.FieldName}} ` , 但是需要注意一点:这个字段必须是导出的(字段首字母必须是大写的), 否则在渲染的时候就会报错,请看下面的这个例子:
36
+ Go语言的模板通过` {{}} ` 来包含需要在渲染时被替换的字段,` {{.}} ` 表示当前的对象,这和Java或者C++中的this类似,如果要访问当前对象的字段通过` {{.FieldName}} ` , 但是需要注意一点:这个字段必须是导出的(字段首字母必须是大写的), 否则在渲染的时候就会报错,请看下面的这个例子:
37
37
``` Go
38
38
39
39
package main
Original file line number Diff line number Diff line change @@ -58,7 +58,7 @@ Go没有为REST提供直接支持,但是因为RESTful是基于HTTP协议实现
58
58
59
59
- HTML标准只能通过链接和表单支持` GET ` 和` POST ` 。在没有Ajax支持的网页浏览器中不能发出` PUT ` 或` DELETE ` 命令
60
60
61
- - 有些防火墙会挡住HTTP ` PUT ` 和` DELETE ` 请求要绕过这个限制 ,客户端需要把实际的` PUT ` 和` DELETE ` 请求通过 POST 请求穿透过来。RESTful 服务则要负责在收到的 POST 请求中找到原始的 HTTP 方法并还原。
61
+ - 有些防火墙会挡住HTTP ` PUT ` 和` DELETE ` 请求,要绕过这个限制 ,客户端需要把实际的` PUT ` 和` DELETE ` 请求通过 POST 请求穿透过来。RESTful 服务则要负责在收到的 POST 请求中找到原始的 HTTP 方法并还原。
62
62
63
63
我们现在可以通过` POST ` 里面增加隐藏字段` _method ` 这种方式可以来模拟` PUT ` 、` DELETE ` 等方式,但是服务器端需要做转换。我现在的项目里面就按照这种方式来做的REST接口。当然Go语言里面完全按照RESTful来实现是很容易的,我们通过下面的例子来说明如何实现RESTful的应用设计。
64
64
You can’t perform that action at this time.
0 commit comments