Skip to content
Snippets Groups Projects
Commit 595e1e03 authored by Alena Petraki's avatar Alena Petraki
Browse files

Расширена спецификация для структурированной ошибки. В Operation используется...

Расширена спецификация для структурированной ошибки. В Operation используется ошибка типа common.Error
parent 81c96784
No related branches found
No related tags found
1 merge request!21Расширена спецификация для структурированной ошибки. В Operation используется ошибка типа common.Error
......@@ -6,44 +6,6 @@ package common;
import "google/protobuf/struct.proto";
message Error {
message BadRequest {
message FieldViolation {
string field = 1;
string description = 2;
}
repeated FieldViolation errors = 1;
}
message Help {
message Link {
string description =1;
string url = 2;
}
repeated Link links = 1;
}
message DebugInfo {
repeated string stack_trace = 1;
string detail = 2;
}
message LocalizedMessage {
string locale = 1;
string message = 2;
}
uint64 error_code = 1; // Код ошибки
string error_id = 2; // ID конкретного инцидента, ID уникальна для каждого случая.
string reason = 3; // ???
string domain = 4; // Сервис,Пакет к которому относится ошибка
map<string,string> metadata = 9; // Мета-информация
BadRequest bad_request = 10; // Ошибка запроса
DebugInfo debug_info = 11; // Отладочная информация
Help help = 100; // Пользовательская информации и инструкции
repeated LocalizedMessage localized_messages = 200; // Перевод сообщения об ошибке
}
message Filter {
string op = 1;
string field = 2;
......
syntax = "proto3";
option go_package = "git.perx.ru/perxis/perxis-go/proto/common;common";
package common;
import "google/protobuf/struct.proto";
message Error {
message BadRequest {
message FieldViolation {
string field = 1;
string description = 2;
}
repeated FieldViolation errors = 1;
}
message Help {
message Link {
string description =1;
string url = 2;
}
repeated Link links = 1;
}
message DebugInfo {
repeated string stack_trace = 1;
string detail = 2;
}
message LocalizedMessage {
string locale = 1;
string message = 2;
}
uint64 error_code = 1; // Код ошибки
string error_id = 2; // ID конкретного инцидента, ID уникальна для каждого случая.
string reason = 3; // ???
string domain = 4; // Сервис, пакет к которому относится ошибка
string message = 5; // Текст ошибки
string details = 6; // Дополнительные детали об ошибке
map<string,string> metadata = 9; // Мета-информация
BadRequest bad_request = 10; // Ошибка запроса
DebugInfo debug_info = 11; // Отладочная информация
Help help = 100; // Пользовательская информации и инструкции
repeated LocalizedMessage localized_messages = 200; // Перевод сообщения об ошибке
repeated Error errors = 500; // Вложенные ошибки
}
......@@ -4,6 +4,7 @@ package common;
import "google/protobuf/timestamp.proto";
import "google/protobuf/any.proto";
import "common/error.proto";
option go_package = "git.perx.ru/perxis/perxis-go/proto/common;common";
......@@ -37,6 +38,6 @@ message Operation {
google.protobuf.Any response = 9;
// Результат выполнения операции в случае ошибки
string error = 10;
Error error = 10;
}
}
......@@ -10,6 +10,7 @@ syntax = "proto3";
import "google/protobuf/empty.proto";
import "common/common.proto";
import "common/error.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/struct.proto";
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment