La syntaxe rpc de proto3 autorise-t-elle les requêtes ou les réponses nulles?
par exemple. Je veux l'équivalent de ce qui suit:
rpc Logout;
rpc Status returns (Status);
rpc Log (LogData);
Ou devrais-je simplement créer un type null?
message Null {};
rpc Logout (Null) returns (Null);
rpc Status (Null) returns (Status);
rpc Log (LogData) returns (Null);
Le commentaire de Kenton ci-dessous est un conseil judicieux:
... en tant que développeurs, nous ne savons vraiment pas ce que nous pourrions souhaiter à l'avenir. Il est donc recommandé de toujours définir des paramètres et des types de résultats personnalisés pour chaque méthode, même s'ils sont vides.
Répondant à ma propre question:
En parcourant les fichiers proto par défaut, je suis tombé sur Empty qui est exactement comme le type Null que j'ai suggéré ci-dessus :)
extrait de ce fichier:
// A generic empty message that you can re-use to avoid defining duplicated
// empty messages in your APIs. A typical example is to use it as the request
// or the response type of an API method. For instance:
//
// service Foo {
// rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
// }
//
message Empty {
}