Изменил(а) на 'Home'
parent
6ef1194379
commit
0a9ec0696e
83
Home.md
83
Home.md
@ -1,11 +1,80 @@
|
||||
Описание прото опций и типов:
|
||||
|
||||
* micro.codec.Frame (import "codec/frame.proto"):
|
||||
- специальный тип данных, про который знают все микро кодеки и ничего не делают с сообщением в этом случае а просто копируют байты как есть.
|
||||
- пример: rpc Call(micro.codec.Frame)
|
||||
|
||||
* micro.tag.tags (import "tag/tag.proto"):
|
||||
* micro.codec.Frame (```import "codec/frame.proto";```):
|
||||
- специальный тип данных, про который знают все микро кодеки и ничего не делают с сообщением в этом случае? а просто копируют байты как есть.
|
||||
- пример:
|
||||
```
|
||||
rpc Call(micro.codec.Frame) returns (micro.codec.Frame) {};
|
||||
```
|
||||
|
||||
* micro.tag.tags (```import "tag/tag.proto";```):
|
||||
- позволяет управлять тегами для гененируемых полей структуры (добавить, изменить существующие).
|
||||
- пример: (micro.tag.tags) = "xml:\"field_name,omitempty\""
|
||||
- пример:
|
||||
```
|
||||
string my_proto_filed = 1 [(micro.tag.tags) = "xml:\"field_name,omitempty\""];
|
||||
```
|
||||
|
||||
*
|
||||
* micro.api.http (```import "api/annotations.proto";```):
|
||||
- специальный тип, используется как для генерации опенапи описания, так и для генерации микро хттп клиента и сервера.
|
||||
- пример:
|
||||
```
|
||||
rpc Call(micro.codec.Frame) returns (micro.codec.Frame) {
|
||||
option (micro.api.http) = { post: "/v1/call"; body: "*"; };
|
||||
};
|
||||
```
|
||||
|
||||
* micro.api.micro_method (```import "api/annotations.proto";```);
|
||||
- специальный тип, используется при генерации грпц и хттп клиента и сервера. Служит для указания максимального времени вызова или обработки запроса.
|
||||
- пример:
|
||||
```
|
||||
rpc Call(micro.codec.Frame) returns (micro.codec.Frame) {
|
||||
option (micro.api.micro_method) = { timeout: "5s"; };
|
||||
};
|
||||
```
|
||||
|
||||
* micro.openapiv3.openapiv3_operation (```import "openapiv3/annotations.proto";```):
|
||||
- специальный тип, используется при генерации опенапи описания, а также при генерации хттп клиента и сервера.
|
||||
- пример:
|
||||
```
|
||||
package example;
|
||||
rpc Call(micro.codec.Frame) returns (micro.codec.Frame) {
|
||||
option (micro.openapiv3.openapiv3_operation) = {
|
||||
operation_id: "Call";
|
||||
responses: {
|
||||
default: {
|
||||
reference: {
|
||||
_ref: ".example.ErrorRsp";
|
||||
};
|
||||
};
|
||||
};
|
||||
parameters: {
|
||||
parameter: {
|
||||
name: "Clientid"; // имя поля структуры
|
||||
in: "header"; // откуда брать данные или куда записывать
|
||||
schema: {
|
||||
schema: {
|
||||
type: "string"; // тип данных в опенапи спецификации
|
||||
};
|
||||
};
|
||||
required: true; // обязательность поля
|
||||
};
|
||||
};
|
||||
parameters: {
|
||||
parameter: {
|
||||
name: "Csrftoken";
|
||||
in: "cookie";
|
||||
schema: {
|
||||
schema: {
|
||||
type: "string";
|
||||
};
|
||||
};
|
||||
required: true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
message ErrorRsp {
|
||||
|
||||
};
|
||||
```
|
Loading…
x
Reference in New Issue
Block a user