Изменил(а) на 'Home'
parent
6ef1194379
commit
0a9ec0696e
81
Home.md
81
Home.md
@ -1,11 +1,80 @@
|
|||||||
Описание прото опций и типов:
|
Описание прото опций и типов:
|
||||||
|
|
||||||
* micro.codec.Frame (import "codec/frame.proto"):
|
* micro.codec.Frame (```import "codec/frame.proto";```):
|
||||||
- специальный тип данных, про который знают все микро кодеки и ничего не делают с сообщением в этом случае а просто копируют байты как есть.
|
- специальный тип данных, про который знают все микро кодеки и ничего не делают с сообщением в этом случае? а просто копируют байты как есть.
|
||||||
- пример: rpc Call(micro.codec.Frame)
|
- пример:
|
||||||
|
```
|
||||||
|
rpc Call(micro.codec.Frame) returns (micro.codec.Frame) {};
|
||||||
|
```
|
||||||
|
|
||||||
* micro.tag.tags (import "tag/tag.proto"):
|
* 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