Comments (12)
Cool! I'm convinced with this.
I'll be definitely planning to support Reflection in the editor
from bloomrpc.
@fenos gRPC reflection is absolutely used, especially when actively developing an API. Imagine how much time will be saved if I don't have to re-load a changed proto file into this tool (even though there's an easy reload button) for each little API change we're making. To me this is a must :)
from bloomrpc.
It's the main reason we picked grpcui (which is an extension to grpcurl) and retrofitted the reflection API to all our services. Reason being that we have multiple versions in production and it's a pain to have to figure out what proto they are using
from bloomrpc.
@fenos when using evans, I just restart evans and I know I'll have the latest changes. Polling could be an option, or just a "refresh", or call the reflection service before every API call and comparing MD5 ?
from bloomrpc.
@fenos A simple restart of your grpc UI would suffice, polling would be great but not essential.
Has there been any more thought in supporting reflection since it was last discussed here?
from bloomrpc.
Thanks for your comment,
I think there are very few use cases where the server exposes the Reflection API.
Most of the time the third party provider would always provide the .proto
file descriptor to make the integration less a black box.
If you can reverse engineer a GRPC endpoint which exposes the Reflection API, would it be possible to create a .proto
file from the reflected metadata and then use it in the bloomrpc client?
from bloomrpc.
@fenos Please have a look at https://github.com/fullstorydev/grpcurl#server-reflection which supports server reflection API.
from bloomrpc.
I am not sure how wide spread the usage of the Reflection API is, I personally expose it. I think it's a good exploration mechanism in either case.
I believe you can reverse engineer a GRPC endpoint which exposes the Reflection API and create a .proto. Unfortunately the tooling I use (grpc_cli) doesn't appear to support creating a .proto. If it did, or there was a tool that does it could be a good stop-gap solution in the interim.
from bloomrpc.
@simplesteph Imagine you are developing an API, you are changing the server which either updates or removes 1 field from the request message, or to any message type / service definition.
How can the editor know about that change if the server doesn't tell that to the client?
Polling maybe? ๐
I think you still have the same problem with reflection or am i missing something?
from bloomrpc.
๐
from bloomrpc.
๐
from bloomrpc.
Hello guys.
I saw the PR was merged and I tested it.
If the connection is not successful all imported protos will disappear. Maybe you should look into it.
from bloomrpc.
Related Issues (20)
- Cannot read property indexOf in version 1.5.3 HOT 2
- 1.5.3็ๆฌไธๆฏๆenum็ฑปๅ็protoc-gen-validate้ช่ฏ HOT 2
- Serialization failure when working with wrapped value JSON representations
- Fails to connect over IPv6
- 1.6.0 Release HOT 2
- New release process HOT 1
- Is there any command line version of this tool? HOT 2
- I got an error when I import multi protos , but can't find where is the problem
- proto use google validate An error occurred
- Web Toggle Button and other items to not appear in toolbar area
- Is it possible to save call records?
- Error "Unknown Content-type received." when linking grpc-gateway using grpc-web
- Error "14 UNAVAILABLE" when call .NET6 API with Http1AndHttp2 support on same port.
- Unable to connect to gRPC server using mutual TLS (mTLS) HOT 1
- google.protobuf.Empty.proto HOT 1
- Add support import/export grcurl HOT 3
- Can't build it on Ubuntu20.04 HOT 1
- metadata fields HOT 1
- "error": "14 UNAVAILABLE: failed to connect to all addresses" HOT 1
- Can't install in Mac M1: hdiutil: attach failed - no mountable file systems
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bloomrpc.