comment

package
v0.0.0-...-f5108b3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 8, 2024 License: MIT Imports: 9 Imported by: 0

README

评论模块

把 评论模块 对外提供grpc接口: 项目中如何整合 grpc服务

定义服务(IDL)

采用protobuf来定义服务的接口(需要对外暴露为grpc的接口)

Documentation

Index

Constants

View Source
const (
	AppName = "comment"
)
View Source
const (
	RPC_CreateComment_FullMethodName = "/comment.RPC/CreateComment"
)

Variables

View Source
var File_apps_comment_pb_model_proto protoreflect.FileDescriptor
View Source
var File_apps_comment_pb_rpc_proto protoreflect.FileDescriptor
View Source
var RPC_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "comment.RPC",
	HandlerType: (*RPCServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "CreateComment",
			Handler:    _RPC_CreateComment_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "apps/comment/pb/rpc.proto",
}

RPC_ServiceDesc is the grpc.ServiceDesc for RPC service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func RegisterRPCServer

func RegisterRPCServer(s grpc.ServiceRegistrar, srv RPCServer)

Types

type Comment

type Comment struct {

	// Comment 元数据
	Meta *common.Meta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	// protobuf 不允许匿名嵌套的, 必须指定字段名称
	Spec *CreateCommentRequest `protobuf:"bytes,2,opt,name=spec,proto3" json:"spec,omitempty"`
	// contains filtered or unexported fields
}

评论对象(PO)

func (*Comment) Descriptor deprecated

func (*Comment) Descriptor() ([]byte, []int)

Deprecated: Use Comment.ProtoReflect.Descriptor instead.

func (*Comment) GetMeta

func (x *Comment) GetMeta() *common.Meta

func (*Comment) GetSpec

func (x *Comment) GetSpec() *CreateCommentRequest

func (*Comment) ProtoMessage

func (*Comment) ProtoMessage()

func (*Comment) ProtoReflect

func (x *Comment) ProtoReflect() protoreflect.Message

func (*Comment) Reset

func (x *Comment) Reset()

func (*Comment) String

func (x *Comment) String() string

type CreateCommentRequest

type CreateCommentRequest struct {

	// 评论的用户
	// @gotags: json:"user_id"
	UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	// 评论的内容
	// @gotags: json:"content"
	Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"`
	// contains filtered or unexported fields
}

创建评论

func (*CreateCommentRequest) Descriptor deprecated

func (*CreateCommentRequest) Descriptor() ([]byte, []int)

Deprecated: Use CreateCommentRequest.ProtoReflect.Descriptor instead.

func (*CreateCommentRequest) GetContent

func (x *CreateCommentRequest) GetContent() string

func (*CreateCommentRequest) GetUserId

func (x *CreateCommentRequest) GetUserId() string

func (*CreateCommentRequest) ProtoMessage

func (*CreateCommentRequest) ProtoMessage()

func (*CreateCommentRequest) ProtoReflect

func (x *CreateCommentRequest) ProtoReflect() protoreflect.Message

func (*CreateCommentRequest) Reset

func (x *CreateCommentRequest) Reset()

func (*CreateCommentRequest) String

func (x *CreateCommentRequest) String() string

type RPCClient

type RPCClient interface {
	// comment.Comment, rpc.proto/model.proto 属于同一包: comment
	// 同名包下面的message 引入后可以直接使用, 不用添加包名称
	CreateComment(ctx context.Context, in *CreateCommentRequest, opts ...grpc.CallOption) (*Comment, error)
}

RPCClient is the client API for RPC service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

func NewRPCClient

func NewRPCClient(cc grpc.ClientConnInterface) RPCClient

type RPCServer

type RPCServer interface {
	// comment.Comment, rpc.proto/model.proto 属于同一包: comment
	// 同名包下面的message 引入后可以直接使用, 不用添加包名称
	CreateComment(context.Context, *CreateCommentRequest) (*Comment, error)
	// contains filtered or unexported methods
}

RPCServer is the server API for RPC service. All implementations must embed UnimplementedRPCServer for forward compatibility

type Service

type Service interface {

	// 由一部分能力需要提供RPC
	RPCServer
}

定义一个内部接口

type UnimplementedRPCServer

type UnimplementedRPCServer struct {
}

UnimplementedRPCServer must be embedded to have forward compatible implementations.

func (UnimplementedRPCServer) CreateComment

type UnsafeRPCServer

type UnsafeRPCServer interface {
	// contains filtered or unexported methods
}

UnsafeRPCServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to RPCServer will result in compilation errors.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL