| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 | 
							- package endpoint
 
- import (
 
- 	"context"
 
- 	"github.com/go-kit/kit/endpoint"
 
- 	"github.com/longjoy/micro-go-course/section24/goods/service"
 
- )
 
- type GoodsEndpoints struct {
 
- 	GoodsDetailEndpoint endpoint.Endpoint
 
- }
 
- // 服务发现请求结构体
 
- type GoodsDetailRequest struct {
 
- 	Id string
 
- }
 
- // 服务发现响应结构体
 
- type GoodsDetailResponse struct {
 
- 	Detail service.GoodsDetailVO `json:"detail"`
 
- 	Error  string                `json:"error"`
 
- }
 
- // 创建服务发现的 Endpoint
 
- func MakeGoodsDetailEndpoint(svc service.Service) endpoint.Endpoint {
 
- 	return func(ctx context.Context, request interface{}) (response interface{}, err error) {
 
- 		req := request.(GoodsDetailRequest)
 
- 		detail, err := svc.GetGoodsDetail(ctx, req.Id)
 
- 		var errString = ""
 
- 		if err != nil {
 
- 			errString = err.Error()
 
- 			return &GoodsDetailResponse{
 
- 				Detail: detail,
 
- 				Error:  errString,
 
- 			}, nil
 
- 		}
 
- 		return &GoodsDetailResponse{
 
- 			Detail: detail,
 
- 			Error:  errString,
 
- 		}, nil
 
- 	}
 
- }
 
 
  |