mirror of
https://github.com/chirpstack/chirpstack.git
synced 2025-01-09 06:22:57 +00:00
d170c7dd79
All these files can be generated using the `make api` command and there is no real need to commit these into the repo. Only the api/go files need to be comitted of how the Go import system works. This also updates the Rust, Go, JS and gRPC-web (JS) code generation and UI build to use the nix-shell environment instead of using Docker. |
||
---|---|---|
.. | ||
gradle/wrapper | ||
.gitignore | ||
build.gradle.kts | ||
gradlew | ||
gradlew.bat | ||
Makefile | ||
README.md | ||
settings.gradle.kts |
chirpstack-api
ChirpStack gRPC API message and service wrappers for Java.
Install
An artifact is not yet public on Maven Central. You can build your own jar with
make jar
or install the artifact in your local Maven repository $HOME/.m2
with
make install
Usage
All messages, services, constants, etc. are auto-generated from the ChirpStack protobuf definitions. The result is that this package structure matches that of the protobuf definitions.
The protobuf definitions can be found here: https://github.com/chirpstack/chirpstack/tree/master/api/proto
Example
Maven
<dependency>
<groupId>io.chirpstack</groupId>
<artifactId>chirpstack-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
Gradle
dependencies {
implementation("io.chirpstack:chirpstack-api:1.0-SNAPSHOT")
}
Example #1: List tenants
import io.chirpstack.api.*;
import io.grpc.ManagedChannel;
import io.grpc.ManagedChannelBuilder;
import io.grpc.Metadata;
import io.grpc.stub.MetadataUtils;
public class ChirpStack {
public static void main(String[] args) {
ManagedChannel channel = ManagedChannelBuilder
.forAddress("localhost", 8080)
.usePlaintext()
.build();
Metadata metadata = new Metadata();
Metadata.Key<String> key = Metadata.Key.of("authorization", Metadata.ASCII_STRING_MARSHALLER);
String token = "Bearer <INSERT_TOKEN_HERE>";
metadata.put(key, token);
TenantServiceGrpc.TenantServiceBlockingStub stub = TenantServiceGrpc
.newBlockingStub(channel)
.withInterceptors(MetadataUtils.newAttachHeadersInterceptor(metadata));
ListTenantsRequest request = ListTenantsRequest.newBuilder()
.setLimit(10)
.build();
ListTenantsResponse response = stub.list(request);
System.out.println("Number of tenants: " + response.getResultCount());
}
}