1 回答

TA貢獻(xiàn)1795條經(jīng)驗(yàn) 獲得超7個(gè)贊
與存儲(chǔ)庫(kù)中的示例一樣chi,您必須創(chuàng)建一個(gè)輔助方法來(lái)呈現(xiàn)某些東西的列表,在您的情況下是訂單列表。
首先,您必須實(shí)現(xiàn)該render.Renderer方法,然后創(chuàng)建一個(gè)輔助方法來(lái)構(gòu)建render.Renderer.
我已從此處的示例中修改了您的代碼:
type Order struct {
OrderId string
Status string
}
// Render implement render.Renderer
func (*Order) Render(w http.ResponseWriter, r *http.Request) error {
// do something
return nil
}
// newOrderList is a helper method to make list of render.Renderer
func newOrderList(orders []*Order) []render.Renderer {
list := []render.Renderer{}
for _, order := range orders {
list = append(list, order)
}
return list
}
func GetAllOrderByCustomerId(dbClient DbClient, customerId string) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
// fetch all customer orders from the DB
orders, err := dbClient.FetchAllOrdersByCustomerId(customerId)
if err != nil {
log.Error("unable to fetch orders for customer", err)
render.Render(w, r, NewInternalServerError(err))
return
}
// render list of orders
render.RenderList(w, r, newOrderList(orders))
return
}
}
- 1 回答
- 0 關(guān)注
- 141 瀏覽
添加回答
舉報(bào)