Swagger Codegen can simplify your build process by generating server stubs and client SDKs for any API, defined with the OpenAPI (formerly known as Swagger) specification, so your team can focus better on your API’s implementation and adoption.
Interesting link:
Swagger Codegen | API Development Tools | Swagger
The current page explains how to generate a REST java client in order to use Kerlink GMS API methods to create a customer, a fleet, a gatewway, a cluser and an end-device and get information about them.
Building the API client library requires:
For Eclipse, you can find it here: Enabling Open Innovation & Collaboration | The Eclipse Foundation
wget http://central.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/3.0.8/swagger-codegen-cli-3.0.8.jar
Swagger Codegen allows you to generate a client in a wide variety of languages. You may check if your preferred programming language is available by executing
java -jar swagger-codegen-cli-3.0.8.jar langs
Here is a sample of the results:
tda@KLK724-VirtualBox-64:~/Development/Swagger$ java -jar swagger-codegen-cli-3.0.8.jar langs 15:21:40.233 [main] DEBUG io.swagger.codegen.v3.cli.SwaggerCodegen - there are not options for command 'langs' 15:21:40.236 [main] DEBUG io.swagger.codegen.v3.cli.SwaggerCodegen - there are not options for command 'version' Available languages: [aspnetcore, csharp, csharp-dotnet2, dynamic-html, html, html2, java, jaxrs-cxf-client, jaxrs-cxf, inflector, jaxrs-cxf-cdi, jaxrs-spec, jaxrs-jersey, jaxrs-di, jaxrs-resteasy-eap, jaxrs-resteasy, spring, nodejs-server, openapi, openapi-yaml, kotlin-client, kotlin-server, php, python, scala, scala-akka-http-server, swift3, swift4, typescript-angular]
Here is the command to generate the JAVA client code:
java -jar swagger-codegen-cli-3.0.8.jar generate -i openapi.json -l java -o ./java_api_client/ --additional-properties hideGenerationTimestamp=true
This command has created the java_api_client directory:
tda@KLK724-VirtualBox-64:~/Development/Swagger$ ls generating_client.log java_api_client openapi.json swagger-codegen-cli-3.0.8.jar tda@KLK724-VirtualBox-64:~/Development/Swagger/java_api_client$ ls build.gradle build.sbt docs git_push.sh gradle gradle.properties gradlew gradlew.bat pom.xml README.md settings.gradle src
You can find the Client API under ./java_api_client/src/main/java/io/swagger/client
:
tda@KLK724-VirtualBox-64:~/Development/Swagger/java_api_client/src/main/java/io/swagger/client$ ls api ApiClient.java ApiResponse.java Configuration.java JSON.java Pair.java ProgressResponseBody.java ApiCallback.java ApiException.java auth GzipRequestInterceptor.java model ProgressRequestBody.java StringUtil.java
The most useful files are ApiClient.java and ApiResponse.java. ApiClient is used to build an HTTP Request and ApiResponse to decode an HTTP response.
GMS API can be found in ./java_api_client/src/main/java/io/swagger/client/api
:
tda@KLK724-VirtualBox-64:~/Development/Swagger/java_api_client/src/main/java/io/swagger/client/api$ ls ActionsApi.java ClustersApi.java DefaultApi.java FleetsApi.java LnsEventsApi.java PasswordApi.java SelectionsApi.java WebServicesApi.java AlgorithmsApi.java CustomersApi.java DocApi.java GatewaysApi.java LoginApi.java PingApi.java SpectrumsApi.java WorkflowApi.java ApplicationSettingsApi.java CustomersSettingsApi.java DtosApi.java GatewayTypesApi.java MulticastDataDownApi.java PushConfigurationsApi.java TasksApi.java AuthenticatedUserApi.java DataDownApi.java EndDevicesApi.java KpisApi.java MulticastGroupsApi.java RncEventsApi.java UsersApi.java CapabilitiesApi.java DataUpApi.java EventsApi.java LicensesApi.java OpenapiApi.java RolesApi.java ValidateUserApi.java
./java_api_client/src/main/java/io/swagger/client/model
:
tda@KLK724-VirtualBox-64:/media/VM_share/SWAGGER/java_api_client2/src/main/java/io/swagger/client/model$ ls ActionDto.java EndDevicePositionDto.java LnsCustomersLastEventsCountersDto.java ActionParameterDto.java ErrorDto.java LnsEventDto.java ActivityDto.java FileDto.java LnsGatewayKeyDto.java AlgorithmDto.java FleetCountersDto.java MetaDto.java ApplicationDto.java FleetDto.java MetaFieldDto.java ApplicationSettingDto.java FleetLastEventCounterDto.java ModemStatisticInterferDto.java Body1.java GatewayConfigurationDto.java MulticastDataDownDlParametersDto.java Body2.java GatewayConnectionDto.java MulticastDataDownDto.java Body3.java GatewayControlDto.java MulticastDataDownPathDto.java Body4.java GatewayDto.java MulticastGroupDto.java Body5.java GatewayEventDto.java NumericStatisticDto.java Body6.java GatewayInfoDto.java PaginatedDto.java Body7.java GatewayManagementDto.java ProcessDto.java Body.java GatewayModemDto.java ProgressMonitorDto.java BscDto.java GatewayModemStatisticDto.java PushConfigurationDto.java CapabilitiesDto.java GatewayNumericStatisticsDto.java PushConfigurationHeaderDto.java ClusterCountersDto.java GatewayPositionDto.java PushConfigurationHealthDto.java ClusterDto.java GatewaySnmpLogDto.java RevisionDto.java CommandDto.java GatewaysStatisticDto.java RncCustomerLastEventsCountersDto.java CsvEndDeviceDto.java GatewayStatisticsDto.java RncGatewayEventDto.java CsvGatewayDto.java GatewayTermStatisticsDto.java RncGatewayLastEventDto.java CustomerDto.java GatewayTypeDto.java RoleDto.java CustomerLastEventsCountersDto.java GatewayVersionDto.java SelectionDto.java CustomerSettingDto.java InstanceDto.java SpectrumDto.java CustomersLastEventsCountersDto.java ItemDto.java TaskDto.java DataDownDlParametersDto.java JwtDto.java TaskMessageDto.java DataDownDto.java KpiDto.java TemplateDto.java DataDownStatusDto.java LastEventCounterDto.java UserDto.java DataUpDto.java LastEventDto.java VersionDto.java EndDeviceDto.java LastOperationDto.java WanInterfaceTypeDto.java EndDeviceLastGatewayDto.java LastStatisticDto.java WebServiceDto.java EndDeviceMessageDto.java LicenseDto.java WebServiceParameterDto.java EndDeviceMessageMacCommandDto.java LinkDto.java EndDeviceMessageRadioParameterDto.java LnsCustomerLastEventsCountersDto.java
To import the client code in Eclipse environment:
Read the README.md file located in the java_api_client
directory.
In Eclipse, right click on projet → properties, java compiler → Errors/warnings > generic types → use of a raw type
.
Choose “error” in the list.
To compile the client code, select your “swagger-java-client” project, right-click, select “Run As” and then select “Run Configuration”:
Type the goal of the build process: “compile” and click the Run
button:
The compilation result should be “BUILD SUCCESS”:
Compilation results are located in .\java_api_client\target\surefire-reports
Select the file you want to see compilation results.
To install the client API library to your local Maven repository, simply execute:
mvn clean install
This can be done like that:
This will build swagger-java-client-1.0.0.jar in the /target/
directory.
First, create a new MAVEN project: “test-swagger-java-client”.
Then define a dependency with the swagger-java-client project.
To achieve this, right click on the test-swagger-java-client project and select “Maven” then select “Add dependency”:
Add the following information:
Replace the “Hello World” code by your testing code:
Replaced by :
package io.swagger.test_swagger_java_client; import io.swagger.client.*; import io.swagger.client.auth.*; import io.swagger.client.model.*; import io.swagger.client.api.LoginApi; import io.swagger.client.model.JwtDto; import io.swagger.client.model.UserDto; import io.swagger.client.ApiResponse; public class App { public static void main(String[] args) throws ApiException { // Say Hello System.out.println("Hello world"); String baseApiUrl = "https://wmcintegration.wanesy.com/"; int connectTimeout = 60000; // Create an ApiClient per thread ApiClient client = new ApiClient(); client.setBasePath(baseApiUrl); client.setConnectTimeout(connectTimeout); client.setDebugging(true); // Call login method LoginApi loginApi = new LoginApi(client); UserDto body = new UserDto (); body.setLogin("your_login"); body.setPassword("your_password"); System.out.println("Login Post"); JwtDto jwt = loginApi.login(body); client.setApiKey("Bearer " + jwt.getToken()); Configuration.setDefaultApiClient(client); System.out.println("Test Done"); } }
Compile this piece of code and execute it like this :
The result should be:
Hello world Login Post --> POST https://wmcintegration.wanesy.com//gms/application/login HTTP/1.1 Content-Type: application/json; charset=utf-8 Content-Length: 150 Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java {"lastName":"","role":"","avatar":"","login":"xxxxx","enabled":false,"firstName":"","password":"xxxxxx","validated":false,"phone":"","email":""} --> END POST (150-byte body) <-- HTTP/1.1 201 (462ms) Server: nginx Date: Fri, 28 Jun 2019 15:35:11 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 230 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1561736111681 OkHttp-Received-Millis: 1561736111812 {"expiredDate":1561772111781,"tokenType":"Bearer","token":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MirtyuzeMiLCJleHAiOjE1NjE3NzIxMTF9.vhYdP3xy0Naqdeiq7Cx_kzd8bMMg6r0ig-aryAKYJZ8"} <-- END HTTP (230-byte body) Test Done
This token will be used for next GMS API requests like getCustomers, getGateways, getFleets, getClusters, etc…
You can find API samples in .\java_api_client\docs
Modify the CustomersAPi class located in ./java_api_client/src/main/java/io/swagger/client/api/CustomerApi.java
to make it generic:
public PaginatedDto getCustomers(String fields, String page, String pageSize, String search, String sort) throws ApiException { ApiResponse<PaginatedDto> resp = getCustomersWithHttpInfo(fields, page, pageSize, search, sort); return resp.getData(); }
becomes
public PaginatedDto<CustomerDto> getCustomers(final String fields, final String page, final String pageSize, final String search, final String sort) throws ApiException { ApiResponse<PaginatedDto<CustomerDto>> resp = getCustomersWithHttpInfo(fields, page, pageSize, search, sort); return resp.getData(); }
public ApiResponse<PaginatedDto<CustomerDto>> getCustomersWithHttpInfo(String fields, String page, String pageSize, String search, String sort) throws ApiException { com.squareup.okhttp.Call call = getCustomersValidateBeforeCall(fields, page, pageSize, search, sort, null, null); Type localVarReturnType = new TypeToken<PaginatedDto>(){}.getType(); return apiClient.execute(call, localVarReturnType); }
becomes
public ApiResponse<PaginatedDto<CustomerDto>> getCustomersWithHttpInfo(final String fields, final String page, final String pageSize, final String search, final String sort) throws ApiException { com.squareup.okhttp.Call call = getCustomersValidateBeforeCall(fields, page, pageSize, search, sort, null, null); Type localVarReturnType = new TypeToken<PaginatedDto<CustomerDto>>(){}.getType(); return this.apiClient.execute(call, localVarReturnType); }
Modify the PaginatedDto class located in ./java_api_client/src/main/java/io/swagger/client/model/PaginatedDto.java
to make it generic:
The result for the PaginatedDto class should be:
/** * PaginatedDto */ public class PaginatedDto<T> { @SerializedName("count") private Integer count = null; @SerializedName("pageSize") private Integer pageSize = null; @SerializedName("links") private List<LinkDto> links = null; @SerializedName("page") private Integer page = null; @SerializedName("totalCount") private Long totalCount = null; @SerializedName("list") private List<T> list = null; @SerializedName("totalCount") private Long totalCount = null; @SerializedName("nbPages") private Integer nbPages = null; public PaginatedDto<T> count(Integer count) { this.count = count; return this; }
Example of using PaginatedDto class:
public PaginatedDto getClusters(String fields, String page, String pageSize, String search, String sort) throws ApiException { ApiResponse<PaginatedDto> resp = getClustersWithHttpInfo(fields, page, pageSize, search, sort); return resp.getData(); }
becomes :
public PaginatedDto<ClusterDto> getClusters(String fields, String page, String pageSize, String search, String sort) throws ApiException { ApiResponse<PaginatedDto<ClusterDto>> resp = getClustersWithHttpInfo(fields, page, pageSize, search, sort); return resp.getData(); }
All private variables of the customerDto constructor must be initialized to null:
./java_api_client/src/main/java/io/swagger/client/model/customerDto.java
public class CustomerDto { @SerializedName("maxUsers") private Integer maxUsers = null; @SerializedName("maxEndDevices") private Integer maxEndDevices = null; @SerializedName("maxGateways") private Integer maxGateways = null; @SerializedName("geolocationExpirationDate") private Long geolocationExpirationDate = null; @SerializedName("name") private String name = null; @SerializedName("logo") private String logo = null; @SerializedName("links") private List<LinkDto> links = null; @SerializedName("geolocationAuthorized") private Boolean geolocationAuthorized = null; @SerializedName("id") private Long id = null; @SerializedName("billing") private Boolean billing = null; public CustomerDto maxUsers(Integer maxUsers) { this.maxUsers = maxUsers; return this; }
package io.swagger.test_swagger_java_client; import io.swagger.client.*; import io.swagger.client.auth.*; import io.swagger.client.model.*; import io.swagger.client.api.LoginApi; import io.swagger.client.model.JwtDto; import io.swagger.client.model.UserDto; import io.swagger.client.ApiResponse; import io.swagger.client.api.CustomersApi; import io.swagger.client.model.PaginatedDto; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.fail; public class App_CustomerAPITest { public static void main(String[] args) throws ApiException { // Say Hello System.out.println("Hello world"); String baseApiUrl = "https://wmcintegration.wanesy.com/"; int connectTimeout = 60000; // Create an ApiClient per thread ApiClient defaultClient = Configuration.getDefaultApiClient(); defaultClient.setBasePath(baseApiUrl); defaultClient.setConnectTimeout(connectTimeout); defaultClient.setDebugging(true); // Call login method LoginApi loginApi = new LoginApi(defaultClient); UserDto body = new UserDto (); body.setLogin("your_login_here"); body.setPassword("your_password_here"); System.out.println("Login Post"); JwtDto jwt = loginApi.login(body); defaultClient.setApiKey("Bearer " + jwt.getToken()); Configuration.setDefaultApiClient(defaultClient); // getCustomers CustomersApi customerInstance = new CustomersApi(); String sort = ""; // Sort value String pageSize = ""; // Page size value String search = "{\"operand\": \"name\", \"operation\": \"EQ\", \"values\": [\"kerlink\"]}"; // Search condition String fields = ""; // List of fields to display String page = ""; // Page number try { PaginatedDto<CustomerDto> paginatedDto = customerInstance.getCustomers(fields, page, pageSize, search, sort); assertEquals(Integer.valueOf(1), paginatedDto.getCount()); } catch (ApiException e) { System.err.println("Exception when calling CustomersApi#applicationCustomersGet"); e.printStackTrace(); } System.out.println("Test Done"); } }
Test Result:
Hello world Login Post --> POST https://wmcintegration.wanesy.com//gms/application/login HTTP/1.1 Content-Type: application/json; charset=utf-8 Content-Length: 150 Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java {"lastName":"","role":"","avatar":"","login":"xxxxx","enabled":false,"firstName":"","password":"xxxxxxxx","validated":false,"phone":"","email":""} --> END POST (150-byte body) <-- HTTP/1.1 201 (500ms) Server: nginx Date: Fri, 28 Jun 2019 15:21:15 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 230 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1561735275696 OkHttp-Received-Millis: 1561735275830 {"expiredDate":1561771275797,"tokenType":"Bearer","token":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJbXMiLCJleHAiOjE1NjE3NzEyNzV9.kF53EEKMxqkV27WcJ5UDHwy-B-z4UTRChJc2gkJbWMU"} <-- END HTTP (230-byte body) --> GET https://wmcintegration.wanesy.com//gms/application/customers?fields=&page=&pageSize=&search=%7B%22operand%22%3A%20%22name%22%2C%20%22operation%22%3A%20%22EQ%22%2C%09%22values%22%3A%20%5B%22kerlink%22%5D%7D&sort= HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJbXMiLCJleHAiOjE1NjE3NzEyNzV9.kF53EEKMxqkV27WcJ5UDHwy-B-z4UTRChJc2gkJbWMU Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java --> END GET <-- HTTP/1.1 200 (39ms) Server: nginx Date: Fri, 28 Jun 2019 15:21:15 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 1148 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1561735275881 OkHttp-Received-Millis: 1561735275920 {"count":1,"pageSize":50,"links":[{"rel":"first","href":"/application/customers?fields=&page=&pageSize=&search=%7B%22operand%22%3A%20%22name%22%2C%20%22operation%22%3A%20%22EQ%22%2C%09%22values%22%3A%20%5B%22kerlink%22%5D%7D&sort="},{"rel":"last","href":"/application/customers?fields=&page=&pageSize=&search=%7B%22operand%22%3A%20%22name%22%2C%20%22operation%22%3A%20%22EQ%22%2C%09%22values%22%3A%20%5B%22kerlink%22%5D%7D&sort="}],"page":1,"totalCount":1,"list":[{"id":1,"name":"KERLINK","logo":null,"maxGateways":null,"maxEndDevices":null,"maxUsers":null,"geolocationAuthorized":true,"geolocationExpirationDate":null,"billing":false,"links":[{"rel":"clusters","href":"/application/clusters?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"1\"]}"},{"rel":"fleets","href":"/application/fleets?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"1\"]}"},{"rel":"gateways","href":"/application/gateways?search={\"operand\":\"fleet.customer.id\",\"operation\":\"EQ\",\"values\":[\"1\"]}"},{"rel":"rncKpis","href":"/application/customers/1/kpis"},{"rel":"self","href":"/application/customers/1"}]}],"nbPages":1} <-- END HTTP (1148-byte body) Test Done
Fixing the generated code issue: Replacing “return id;” by “return this.id”.
@Schema(required = true, description = "Identifier") public Long getId() { return id; }
becomes:
@Schema(required = true, description = "Identifier") public Long getId() { return this.id; }
Do the same for all get methods:
public CustomerDto toId() { CustomerDto customerDto = new CustomerDto(); customerDto.setId(this.getId()); return customerDto; } }
In your project, create an Abstract class:
package io.swagger.test_swagger_java_client; import io.swagger.client.ApiResponse; public abstract class AbstractTest { protected static Long getIdFromResponse(final ApiResponse<String> response) { String header = response.getHeaders().get("Location").get(0); Long id = Long.valueOf(header.substring(header.lastIndexOf('/') + 1)); return id; } protected static String getKeyFromResponse(final ApiResponse<String> response) { String header = response.getHeaders().get("Location").get(0); String key = header.substring(header.lastIndexOf('/') + 1); return key; } }
package io.swagger.test_swagger_java_client; import io.swagger.client.*; import io.swagger.client.auth.*; import io.swagger.client.model.*; import io.swagger.client.api.LoginApi; import io.swagger.client.model.JwtDto; import io.swagger.client.model.UserDto; import io.swagger.client.ApiResponse; import io.swagger.client.model.CustomerDto; import io.swagger.client.api.CustomersApi; import io.swagger.client.model.PaginatedDto; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.fail; public class App_CustomerAPITest extends AbstractTest { public static CustomerDto createCustomer(CustomerDto customerDto, CustomersApi customerInstance) throws ApiException { Long id = null; if(customerDto == null) { customerDto = new CustomerDto(); ApiResponse<String> customerResponse = customerInstance.createCustomerWithHttpInfo(customerDto); id = getIdFromResponse(customerResponse); } else { if (customerDto.getId() == null) { ApiResponse<String> customerResponse = customerInstance.createCustomerWithHttpInfo(customerDto); id = getIdFromResponse(customerResponse); } else { id = customerDto.getId(); } } assertNotNull(id); customerDto = customerInstance.getCustomer(id, null); return customerDto; } public static void main(String[] args) throws ApiException { long id1 = 0; // Say Hello System.out.println("Hello world"); String baseApiUrl = "https://wmcintegration.wanesy.com/"; int connectTimeout = 60000; // Create an ApiClient per thread ApiClient defaultClient = Configuration.getDefaultApiClient(); defaultClient.setBasePath(baseApiUrl); defaultClient.setConnectTimeout(connectTimeout); defaultClient.setDebugging(true); // login LoginApi loginApi = new LoginApi(defaultClient); UserDto body = new UserDto (); body.setLogin("your_login"); body.setPassword("your_password"); System.out.println("Login Post"); JwtDto jwt = loginApi.login(body); defaultClient.setApiKey("Bearer " + jwt.getToken()); Configuration.setDefaultApiClient(defaultClient); //createCustomer CustomersApi customerInstance = new CustomersApi(); CustomerDto customerDto = new CustomerDto(); try { customerDto.setName("My company"); customerDto = createCustomer(customerDto, customerInstance); id1 = customerDto.getId(); System.out.println("CustomerId="+id1); } catch (ApiException e) { System.err.println("Exception when calling CustomersApi#createCustomer"); e.printStackTrace(); } // getCustomers - a single instance String sort = ""; // Sort value String pageSize = ""; // Page size value String search = "{\"operand\": \"name\", \"operation\": \"EQ\", \"values\": [\"My company\"]}"; // Search condition String fields = ""; // List of fields to display String page = ""; // Page number try { PaginatedDto<CustomerDto> paginatedDto = customerInstance.getCustomers(fields, page, pageSize, search, sort); assertEquals(Integer.valueOf(1), paginatedDto.getCount()); } catch (ApiException e) { System.err.println("Exception when calling CustomersApi#applicationCustomersGet"); e.printStackTrace(); } // getCustomers - all instances PaginatedDto<CustomerDto> responseAll = customerInstance.getCustomers(null, null, null, null, null); assertNotNull (responseAll.getCount()); // deleteCustomer customerInstance.deleteCustomer(id1); System.out.println("Test Done"); } }
Test result:
Hello world Login Post --> POST https://wmcintegration.wanesy.com//gms/application/login HTTP/1.1 Content-Type: application/json; charset=utf-8 Content-Length: 150 Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java {"lastName":"","role":"","avatar":"","login":"your_login_here","enabled":false,"firstName":"","password":"your_password_here","validated":false,"phone":"","email":""} --> END POST (150-byte body) <-- HTTP/1.1 201 (520ms) Server: nginx Date: Mon, 01 Jul 2019 14:43:04 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 230 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1561992184114 OkHttp-Received-Millis: 1561992184259 {"expiredDate":1562028184225,"tokenType":"Bearer","token":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIwMjgxODR9.Vt3zJL9027MRDrEja4u2Dfg_fcehObHWD6W1ij3EN3s"} <-- END HTTP (230-byte body) --> POST https://wmcintegration.wanesy.com//gms/application/customers HTTP/1.1 Content-Type: application/json; charset=utf-8 Content-Length: 77 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIwMjgxODR9.Vt3zJL9027MRDrEja4u2Dfg_fcehObHWD6W1ij3EN3s Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java {"name":"My company","logo":"","geolocationAuthorized":false,"billing":false} --> END POST (77-byte body) <-- HTTP/1.1 201 (46ms) Server: nginx Date: Mon, 01 Jul 2019 14:43:04 GMT Content-Length: 0 Connection: keep-alive Location: /application/customers/21 X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1561992184303 OkHttp-Received-Millis: 1561992184347 <-- END HTTP (0-byte body) --> GET https://wmcintegration.wanesy.com//gms/application/customers/21 HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIwMjgxODR9.Vt3zJL9027MRDrEja4u2Dfg_fcehObHWD6W1ij3EN3s Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java --> END GET <-- HTTP/1.1 200 (42ms) Server: nginx Date: Mon, 01 Jul 2019 14:43:04 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 678 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1561992184360 OkHttp-Received-Millis: 1561992184401 {"maxEndDevices":null,"maxUsers":null,"maxGateways":null,"geolocationExpirationDate":null,"name":"My company","logo":"","links":[{"rel":"clusters","href":"/application/clusters?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"21\"]}"},{"rel":"fleets","href":"/application/fleets?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"21\"]}"},{"rel":"gateways","href":"/application/gateways?search={\"operand\":\"fleet.customer.id\",\"operation\":\"EQ\",\"values\":[\"21\"]}"},{"rel":"rncKpis","href":"/application/customers/21/kpis"},{"rel":"self","href":"/application/customers/21"}],"id":21,"geolocationAuthorized":false,"billing":false} <-- END HTTP (678-byte body) CustomerId=21 --> GET https://wmcintegration.wanesy.com//gms/application/customers?fields=&page=&pageSize=&search=%7B%22operand%22%3A%20%22name%22%2C%20%22operation%22%3A%20%22EQ%22%2C%09%22values%22%3A%20%5B%22My%20company%22%5D%7D&sort= HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIwMjgxODR9.Vt3zJL9027MRDrEja4u2Dfg_fcehObHWD6W1ij3EN3s Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java --> END GET <-- HTTP/1.1 200 (39ms) Server: nginx Date: Mon, 01 Jul 2019 14:43:04 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 1166 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1561992184406 OkHttp-Received-Millis: 1561992184445 {"count":1,"pageSize":50,"links":[{"rel":"first","href":"/application/customers?fields=&page=&pageSize=&search=%7B%22operand%22%3A%20%22name%22%2C%20%22operation%22%3A%20%22EQ%22%2C%09%22values%22%3A%20%5B%22My%20company%22%5D%7D&sort="},{"rel":"last","href":"/application/customers?fields=&page=&pageSize=&search=%7B%22operand%22%3A%20%22name%22%2C%20%22operation%22%3A%20%22EQ%22%2C%09%22values%22%3A%20%5B%22My%20company%22%5D%7D&sort="}],"page":1,"totalCount":1,"list":[{"id":21,"name":"My company","logo":"","maxGateways":null,"maxEndDevices":null,"maxUsers":null,"geolocationAuthorized":false,"geolocationExpirationDate":null,"billing":false,"links":[{"rel":"clusters","href":"/application/clusters?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"21\"]}"},{"rel":"fleets","href":"/application/fleets?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"21\"]}"},{"rel":"gateways","href":"/application/gateways?search={\"operand\":\"fleet.customer.id\",\"operation\":\"EQ\",\"values\":[\"21\"]}"},{"rel":"rncKpis","href":"/application/customers/21/kpis"},{"rel":"self","href":"/application/customers/21"}]}],"nbPages":1} <-- END HTTP (1166-byte body) --> GET https://wmcintegration.wanesy.com//gms/application/customers HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIwMjgxODR9.Vt3zJL9027MRDrEja4u2Dfg_fcehObHWD6W1ij3EN3s Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java --> END GET <-- HTTP/1.1 200 (40ms) Server: nginx Date: Mon, 01 Jul 2019 14:43:04 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 7604 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1561992184450 OkHttp-Received-Millis: 1561992184490 {"count":11,"pageSize":50,"links":[{"rel":"first","href":"/application/customers?page=1"},{"rel":"last","href":"/application/customers?page=1"}],"page":1,"totalCount":11,"list":[{"id":3,"name":"supervision","logo":null,"maxGateways":1,"maxEndDevices":1,"maxUsers":1,"geolocationAuthorized":false,"geolocationExpirationDate":null,"billing":true,"links":[{"rel":"clusters","href":"/application/clusters?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"3\"]}"},{"rel":"fleets","href":"/application/fleets?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"3\"]}"},{"rel":"gateways","href":"/application/gateways?search={\"operand\":\"fleet.customer.id\",\"operation\":\"EQ\",\"values\":[\"3\"]}"},{"rel":"rncKpis","href":"/application/customers/3/kpis"},{"rel":"self","href":"/application/customers/3"}]},{"id":4,"name":"DoNotDeleteSupervision","logo":null,"maxGateways":1,"maxEndDevices":1,"maxUsers":1,"geolocationAuthorized":false,"geolocationExpirationDate":null,"billing":true,"links":[{"rel":"clusters","href":"/application/clusters?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"4\"]}"},{"rel":"fleets","href":"/application/fleets?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"4\"]}"},{"rel":"gateways","href":"/application/gateways?search={\"operand\":\"fleet.customer.id\",\"operation\":\"EQ\",\"values\":[\"4\"]}"},{"rel":"rncKpis","href":"/application/customers/4/kpis"},{"rel":"self","href":"/application/customers/4"}]},{"id":1,"name":"KERLINK","logo":null,"maxGateways":null,"maxEndDevices":null,"maxUsers":null,"geolocationAuthorized":true,"geolocationExpirationDate":null,"billing":false,"links":[{"rel":"clusters","href":"/application/clusters?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"1\"]}"},{"rel":"fleets","href":"/application/fleets?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"1\"]}"},{"rel":"gateways","href":"/application/gateways?search={\"operand\":\"fleet.customer.id\",\"operation\":\"EQ\",\"values\":[\"1\"]}"},{"rel":"rncKpis","href":"/application/customers/1/kpis"},{"rel":"self","href":"/application/customers/1"}]},{"id":5,"name":"kerlinksg","logo":"","maxGateways":null,"maxEndDevices":null,"maxUsers":null,"geolocationAuthorized":true,"geolocationExpirationDate":null,"billing":false,"links":[{"rel":"clusters","href":"/application/clusters?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"5\"]}"},{"rel":"fleets","href":"/application/fleets?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"5\"]}"},{"rel":"gateways","href":"/application/gateways?search={\"operand\":\"fleet.customer.id\",\"operation\":\"EQ\",\"values\":[\"5\"]}"},{"rel":"rncKpis","href":"/application/customers/5/kpis"},{"rel":"self","href":"/application/customers/5"}]},{"id":6,"name":"ACCORINVEST","logo":"","maxGateways":null,"maxEndDevices":null,"maxUsers":null,"geolocationAuthorized":false,"geolocationExpirationDate":null,"billing":false,"links":[{"rel":"clusters","href":"/application/clusters?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"6\"]}"},{"rel":"fleets","href":"/application/fleets?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"6\"]}"},{"rel":"gateways","href":"/application/gateways?search={\"operand\":\"fleet.customer.id\",\"operation\":\"EQ\",\"values\":[\"6\"]}"},{"rel":"rncKpis","href":"/application/customers/6/kpis"},{"rel":"self","href":"/application/customers/6"}]},{"id":7,"name":"KAS","logo":"","maxGateways":null,"maxEndDevices":null,"maxUsers":null,"geolocationAuthorized":false,"geolocationExpirationDate":null,"billing":false,"links":[{"rel":"clusters","href":"/application/clusters?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"7\"]}"},{"rel":"fleets","href":"/application/fleets?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"7\"]}"},{"rel":"gateways","href":"/application/gateways?search={\"operand\":\"fleet.customer.id\",\"operation\":\"EQ\",\"values\":[\"7\"]}"},{"rel":"rncKpis","href":"/application/customers/7/kpis"},{"rel":"self","href":"/application/customers/7"}]},{"id":8,"name":"KerlinkTraining","logo":"","maxGateways":null,"maxEndDevices":null,"maxUsers":null,"geolocationAuthorized":false,"geolocationExpirationDate":null,"billing":false,"links":[{"rel":"clusters","href":"/application/clusters?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"8\"]}"},{"rel":"fleets","href":"/application/fleets?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"8\"]}"},{"rel":"gateways","href":"/application/gateways?search={\"operand\":\"fleet.customer.id\",\"operation\":\"EQ\",\"values\":[\"8\"]}"},{"rel":"rncKpis","href":"/application/customers/8/kpis"},{"rel":"self","href":"/application/customers/8"}]},{"id":9,"name":"Tanalink","logo":"","maxGateways":null,"maxEndDevices":null,"maxUsers":null,"geolocationAuthorized":true,"geolocationExpirationDate":null,"billing":false,"links":[{"rel":"clusters","href":"/application/clusters?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"9\"]}"},{"rel":"fleets","href":"/application/fleets?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"9\"]}"},{"rel":"gateways","href":"/application/gateways?search={\"operand\":\"fleet.customer.id\",\"operation\":\"EQ\",\"values\":[\"9\"]}"},{"rel":"rncKpis","href":"/application/customers/9/kpis"},{"rel":"self","href":"/application/customers/9"}]},{"id":10,"name":"Sigma3","logo":"","maxGateways":null,"maxEndDevices":null,"maxUsers":null,"geolocationAuthorized":true,"geolocationExpirationDate":1569772800000,"billing":false,"links":[{"rel":"clusters","href":"/application/clusters?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"10\"]}"},{"rel":"fleets","href":"/application/fleets?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"10\"]}"},{"rel":"gateways","href":"/application/gateways?search={\"operand\":\"fleet.customer.id\",\"operation\":\"EQ\",\"values\":[\"10\"]}"},{"rel":"rncKpis","href":"/application/customers/10/kpis"},{"rel":"self","href":"/application/customers/10"}]},{"id":17,"name":"British Telecom","logo":"","maxGateways":10,"maxEndDevices":10,"maxUsers":10,"geolocationAuthorized":false,"geolocationExpirationDate":null,"billing":false,"links":[{"rel":"clusters","href":"/application/clusters?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"17\"]}"},{"rel":"fleets","href":"/application/fleets?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"17\"]}"},{"rel":"gateways","href":"/application/gateways?search={\"operand\":\"fleet.customer.id\",\"operation\":\"EQ\",\"values\":[\"17\"]}"},{"rel":"rncKpis","href":"/application/customers/17/kpis"},{"rel":"self","href":"/application/customers/17"}]},{"id":21,"name":"My company","logo":"","maxGateways":null,"maxEndDevices":null,"maxUsers":null,"geolocationAuthorized":false,"geolocationExpirationDate":null,"billing":false,"links":[{"rel":"clusters","href":"/application/clusters?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"21\"]}"},{"rel":"fleets","href":"/application/fleets?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"21\"]}"},{"rel":"gateways","href":"/application/gateways?search={\"operand\":\"fleet.customer.id\",\"operation\":\"EQ\",\"values\":[\"21\"]}"},{"rel":"rncKpis","href":"/application/customers/21/kpis"},{"rel":"self","href":"/application/customers/21"}]}],"nbPages":1} <-- END HTTP (7604-byte body) Test Done --> DELETE https://wmcintegration.wanesy.com//gms/application/customers/21 HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIwMjgxODR9.Vt3zJL9027MRDrEja4u2Dfg_fcehObHWD6W1ij3EN3s Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java --> END DELETE <-- HTTP/1.1 204 (46ms) Server: nginx Date: Mon, 01 Jul 2019 14:43:04 GMT Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1561992184498 OkHttp-Received-Millis: 1561992184542 <-- END HTTP
If we don't execute the deleteCustomer() method, here is the result on the WMC dashboard:
Do the same as for CustomerDto class for all get methods:
Do the same changes as for CustomerDto class but use these types instead:
Replace | By | In method |
---|---|---|
<PaginatedDto> | <PaginatedDto<GatewayEventDto» | getFleetEvents |
<PaginatedDto> | <PaginatedDto<GatewayEventDto» | getFleetEventsWithHttpInfo |
<PaginatedDto> | <PaginatedDto<GatewayEventDto» | getFleetEventsAsync |
<PaginatedDto> | <PaginatedDto<GatewayEventDto» | getFleetEventsValidateBeforeCall |
<PaginatedDto> | <PaginatedDto<LastEventDto» | getFleetLastEvents |
<PaginatedDto> | <PaginatedDto<LastEventDto» | getFleetLastEventsWithHttpInfo |
<PaginatedDto> | <PaginatedDto<LastEventDto» | getFleetLastEventsAsync |
<PaginatedDto> | <PaginatedDto<LastEventDto» | getFleetLastEventsValidateBeforeCall |
<PaginatedDto> | <PaginatedDto<LastOperationDto» | getFleetLastOperations |
<PaginatedDto> | <PaginatedDto<LastOperationDto» | getFleetLastOperationsWithHttpInfo |
<PaginatedDto> | <PaginatedDto<LastOperationDto» | getFleetLastOperationsAsync |
<PaginatedDto> | <PaginatedDto<LastOperationDto» | getFleetLastOperationsValidateBeforeCall |
<PaginatedDto> | <PaginatedDto<GatewaysStatisticDto» | getFleetLastStatistics |
<PaginatedDto> | <PaginatedDto<GatewaysStatisticDto» | getFleetLastStatisticsWithHttpInfo |
<PaginatedDto> | <PaginatedDto<GatewaysStatisticDto» | getFleetLastStatisticsAsync |
<PaginatedDto> | <PaginatedDto<GatewaysStatisticDto» | getFleetLastStatisticsValidateBeforeCall |
<PaginatedDto> | <PaginatedDto<FleetDto» | getFleets |
<PaginatedDto> | <PaginatedDto<FleetDto» | getFleetsWithHttpInfo |
<PaginatedDto> | <PaginatedDto<FleetDto» | getFleetsAsync |
<PaginatedDto> | <PaginatedDto<FleetDto» | getFleetsValidateBeforeCall |
For instance:
public PaginatedDto getFleetEvents(String endDate, Long id, String startDate, String fields, String page, String pageSize, String type) throws ApiException { ApiResponse<PaginatedDto> resp = getFleetEventsWithHttpInfo(endDate, id, startDate, fields, page, pageSize, type); return resp.getData(); }
becomes:
public PaginatedDto<GatewayEventDto> getFleetEvents(final String endDate, final Long id, final String startDate, final String fields, final String page, final String pageSize, final String type) throws ApiException { ApiResponse<PaginatedDto<GatewayEventDto>> resp = getFleetEventsWithHttpInfo(endDate, id, startDate, fields, page, pageSize, type); return resp.getData(); }
Don't forget to import the GatewayEventDto class.
import io.swagger.client.model.GatewayEventDto;
package io.swagger.test_swagger_java_client; import io.swagger.client.*; import io.swagger.client.auth.*; import io.swagger.client.model.*; import io.swagger.client.api.LoginApi; import io.swagger.client.model.JwtDto; import io.swagger.client.model.UserDto; import io.swagger.client.ApiResponse; import io.swagger.client.model.CustomerDto; import io.swagger.client.api.CustomersApi; import io.swagger.client.model.FleetDto; import io.swagger.client.api.FleetsApi; import io.swagger.client.model.PaginatedDto; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.fail; public class App_FleetAPITest extends AbstractTest { public static CustomerDto createCustomer(CustomerDto customerDto, CustomersApi customerInstance) throws ApiException { Long id = null; if(customerDto == null) { customerDto = new CustomerDto(); ApiResponse<String> customerResponse = customerInstance.createCustomerWithHttpInfo(customerDto); id = getIdFromResponse(customerResponse); customerDto.setId(id); } else { if (customerDto.getId() == null) { ApiResponse<String> customerResponse = customerInstance.createCustomerWithHttpInfo(customerDto); id = getIdFromResponse(customerResponse); customerDto.setId(id); } else { id = customerDto.getId(); } } assertNotNull(id); customerDto = customerInstance.getCustomer(id, null); return customerDto; } public static FleetDto createFleet(FleetDto fleetDto, FleetsApi fleetInstance, CustomerDto customerDto) throws ApiException { Long id = null; if (customerDto != null) { if(fleetDto == null) { fleetDto = new FleetDto(); fleetDto.setCustomer(customerDto.toId()); ApiResponse<String> fleetResponse = fleetInstance.createFleetWithHttpInfo(fleetDto); id = getIdFromResponse(fleetResponse); } else { if (fleetDto.getId() == null) { fleetDto.setCustomer(customerDto.toId()); ApiResponse<String> fleetResponse = fleetInstance.createFleetWithHttpInfo(fleetDto); id = getIdFromResponse(fleetResponse); } else { id = fleetDto.getId(); } } assertNotNull(id); fleetDto = fleetInstance.getFleet(id, null); } return fleetDto; } public static void main(String[] args) throws ApiException { long id1=0, id_fleet=0; // Say Hello System.out.println("Hello world"); String baseApiUrl = "https://wmcintegration.wanesy.com/"; int connectTimeout = 60000; // Create an ApiClient per thread ApiClient defaultClient = Configuration.getDefaultApiClient(); defaultClient.setBasePath(baseApiUrl); defaultClient.setConnectTimeout(connectTimeout); defaultClient.setDebugging(true); // login LoginApi loginApi = new LoginApi(defaultClient); UserDto body = new UserDto (); body.setLogin("your_login"); body.setPassword("your password"); System.out.println("Login Post"); JwtDto jwt = loginApi.login(body); defaultClient.setApiKey("Bearer " + jwt.getToken()); Configuration.setDefaultApiClient(defaultClient); //createCustomer CustomersApi customerInstance = new CustomersApi(); CustomerDto customerDto = new CustomerDto(); try { customerDto.setName("My company"); customerDto = createCustomer(customerDto, customerInstance); id1 = customerDto.getId(); System.out.println("CustomerId="+id1); } catch (ApiException e) { System.err.println("Exception when calling CustomersApi#createCustomer"); e.printStackTrace(); } // getCustomers - a single instance String sort = ""; // Sort value String pageSize = ""; // Page size value String search = "{\"operand\": \"name\", \"operation\": \"EQ\", \"values\": [\"My company\"]}"; // Search condition String fields = ""; // List of fields to display String page = ""; // Page number try { PaginatedDto<CustomerDto> paginatedDto = customerInstance.getCustomers(fields, page, pageSize, search, sort); assertEquals(Integer.valueOf(1), paginatedDto.getCount()); } catch (ApiException e) { System.err.println("Exception when calling CustomersApi#applicationCustomersGet"); e.printStackTrace(); } // createFleet FleetsApi fleetInstance = new FleetsApi(); FleetDto fleetDto = new FleetDto(); try { fleetDto.setName("My fleet"); fleetDto = createFleet(fleetDto, fleetInstance, customerDto); id_fleet = fleetDto.getId(); System.out.println("FleetId="+id_fleet); } catch (ApiException e) { System.err.println("Exception when calling FleetsApi#createFleet"); e.printStackTrace(); } // getFleets sort = ""; // Sort value pageSize = ""; // Page size value search = "{\"operand\": \"name\", \"operation\": \"EQ\", \"values\": [\"My fleet\"]}"; // Search condition fields = ""; // List of fields to display page = ""; // Page number try { PaginatedDto<FleetDto> paginatedDto = fleetInstance.getFleets(fields, page, pageSize, search, sort); assertEquals(Integer.valueOf(1), paginatedDto.getCount()); } catch (ApiException e) { System.err.println("Exception when calling FleetsApi#getFleets"); e.printStackTrace(); } // getFleet fleetDto = fleetInstance.getFleet(id_fleet, null); System.out.println("The fleet Id="+id_fleet+" has name \""+fleetDto.getName()+"\""); // deleteFleet fleetInstance.deleteFleet(id_fleet); System.out.println("The fleet Id="+id_fleet+" has been deleted="); // deleteCustomer customerInstance.deleteCustomer(id1); System.out.println("The customer Id="+id1+" has been deleted"); } }
Test result:
Hello world Login Post --> POST https://wmcintegration.wanesy.com//gms/application/login HTTP/1.1 Content-Type: application/json; charset=utf-8 Content-Length: 150 Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java {"lastName":"","role":"","avatar":"","login":"your_login","enabled":false,"firstName":"","password":"your_password","validated":false,"phone":"","email":""} --> END POST (150-byte body) <-- HTTP/1.1 201 (529ms) Server: nginx Date: Tue, 02 Jul 2019 15:09:25 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 230 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562080165068 OkHttp-Received-Millis: 1562080165190 {"expiredDate":1562116165167,"tokenType":"Bearer","token":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIxMTYxNjV9.1ZdVyOfYt6Jixxu_oAN8eHp-qplqGnwuDj68AQ_Z0Bw"} <-- END HTTP (230-byte body) --> POST https://wmcintegration.wanesy.com//gms/application/customers HTTP/1.1 Content-Type: application/json; charset=utf-8 Content-Length: 21 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIxMTYxNjV9.1ZdVyOfYt6Jixxu_oAN8eHp-qplqGnwuDj68AQ_Z0Bw Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java {"name":"My company"} --> END POST (21-byte body) <-- HTTP/1.1 201 (41ms) Server: nginx Date: Tue, 02 Jul 2019 15:09:25 GMT Content-Length: 0 Connection: keep-alive Location: /application/customers/37 X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562080165204 OkHttp-Received-Millis: 1562080165243 <-- END HTTP (0-byte body) --> GET https://wmcintegration.wanesy.com//gms/application/customers/37 HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIxMTYxNjV9.1ZdVyOfYt6Jixxu_oAN8eHp-qplqGnwuDj68AQ_Z0Bw Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java --> END GET <-- HTTP/1.1 200 (40ms) Server: nginx Date: Tue, 02 Jul 2019 15:09:25 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 680 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562080165251 OkHttp-Received-Millis: 1562080165290 {"maxEndDevices":null,"maxUsers":null,"maxGateways":null,"geolocationExpirationDate":null,"name":"My company","logo":null,"links":[{"rel":"clusters","href":"/application/clusters?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"37\"]}"},{"rel":"fleets","href":"/application/fleets?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"37\"]}"},{"rel":"gateways","href":"/application/gateways?search={\"operand\":\"fleet.customer.id\",\"operation\":\"EQ\",\"values\":[\"37\"]}"},{"rel":"rncKpis","href":"/application/customers/37/kpis"},{"rel":"self","href":"/application/customers/37"}],"id":37,"geolocationAuthorized":false,"billing":false} <-- END HTTP (680-byte body) CustomerId=37 --> GET https://wmcintegration.wanesy.com//gms/application/customers?fields=&page=&pageSize=&search=%7B%22operand%22%3A%20%22name%22%2C%20%22operation%22%3A%20%22EQ%22%2C%09%22values%22%3A%20%5B%22My%20company%22%5D%7D&sort= HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIxMTYxNjV9.1ZdVyOfYt6Jixxu_oAN8eHp-qplqGnwuDj68AQ_Z0Bw Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java --> END GET <-- HTTP/1.1 200 (41ms) Server: nginx Date: Tue, 02 Jul 2019 15:09:25 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 1168 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562080165296 OkHttp-Received-Millis: 1562080165337 {"count":1,"pageSize":50,"links":[{"rel":"first","href":"/application/customers?fields=&page=&pageSize=&search=%7B%22operand%22%3A%20%22name%22%2C%20%22operation%22%3A%20%22EQ%22%2C%09%22values%22%3A%20%5B%22My%20company%22%5D%7D&sort="},{"rel":"last","href":"/application/customers?fields=&page=&pageSize=&search=%7B%22operand%22%3A%20%22name%22%2C%20%22operation%22%3A%20%22EQ%22%2C%09%22values%22%3A%20%5B%22My%20company%22%5D%7D&sort="}],"page":1,"totalCount":1,"list":[{"id":37,"name":"My company","logo":null,"maxGateways":null,"maxEndDevices":null,"maxUsers":null,"geolocationAuthorized":false,"geolocationExpirationDate":null,"billing":false,"links":[{"rel":"clusters","href":"/application/clusters?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"37\"]}"},{"rel":"fleets","href":"/application/fleets?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"37\"]}"},{"rel":"gateways","href":"/application/gateways?search={\"operand\":\"fleet.customer.id\",\"operation\":\"EQ\",\"values\":[\"37\"]}"},{"rel":"rncKpis","href":"/application/customers/37/kpis"},{"rel":"self","href":"/application/customers/37"}]}],"nbPages":1} <-- END HTTP (1168-byte body) --> POST https://wmcintegration.wanesy.com//gms/application/fleets HTTP/1.1 Content-Type: application/json; charset=utf-8 Content-Length: 40 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIxMTYxNjV9.1ZdVyOfYt6Jixxu_oAN8eHp-qplqGnwuDj68AQ_Z0Bw Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java {"name":"My fleet","customer":{"id":37}} --> END POST (40-byte body) <-- HTTP/1.1 201 (46ms) Server: nginx Date: Tue, 02 Jul 2019 15:09:25 GMT Content-Length: 0 Connection: keep-alive Location: /application/fleets/15 X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562080165345 OkHttp-Received-Millis: 1562080165390 <-- END HTTP (0-byte body) --> GET https://wmcintegration.wanesy.com//gms/application/fleets/15 HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIxMTYxNjV9.1ZdVyOfYt6Jixxu_oAN8eHp-qplqGnwuDj68AQ_Z0Bw Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java --> END GET <-- HTTP/1.1 200 (43ms) Server: nginx Date: Tue, 02 Jul 2019 15:09:25 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 599 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562080165393 OkHttp-Received-Millis: 1562080165436 {"name":"My fleet","links":[{"rel":"customer","href":"/application/customers/37"},{"rel":"fleetEvents","href":"/application/fleets/15/events"},{"rel":"fleetLastEvents","href":"/application/fleets/15/events/last"},{"rel":"fleetLastEventsCounters","href":"/application/fleets/15/events/last/counters"},{"rel":"fleetLastStatistics","href":"/application/fleets/15/lastStatistics"},{"rel":"gateways","href":"/application/gateways?search={\"operand\":\"fleet.id\",\"operation\":\"EQ\",\"values\":[\"15\"]}"},{"rel":"self","href":"/application/fleets/15"}],"id":15,"customer":{"name":"My company","id":37}} <-- END HTTP (599-byte body) FleetId=15 --> GET https://wmcintegration.wanesy.com//gms/application/fleets?fields=&page=&pageSize=&search=%7B%22operand%22%3A%20%22name%22%2C%20%22operation%22%3A%20%22EQ%22%2C%09%22values%22%3A%20%5B%22My%20fleet%22%5D%7D&sort= HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIxMTYxNjV9.1ZdVyOfYt6Jixxu_oAN8eHp-qplqGnwuDj68AQ_Z0Bw Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java --> END GET <-- HTTP/1.1 200 (45ms) Server: nginx Date: Tue, 02 Jul 2019 15:09:25 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 1077 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562080165440 OkHttp-Received-Millis: 1562080165484 {"count":1,"pageSize":50,"links":[{"rel":"first","href":"/application/fleets?fields=&page=&pageSize=&search=%7B%22operand%22%3A%20%22name%22%2C%20%22operation%22%3A%20%22EQ%22%2C%09%22values%22%3A%20%5B%22My%20fleet%22%5D%7D&sort="},{"rel":"last","href":"/application/fleets?fields=&page=&pageSize=&search=%7B%22operand%22%3A%20%22name%22%2C%20%22operation%22%3A%20%22EQ%22%2C%09%22values%22%3A%20%5B%22My%20fleet%22%5D%7D&sort="}],"page":1,"totalCount":1,"list":[{"id":15,"customer":{"name":"My company","id":37},"name":"My fleet","links":[{"rel":"customer","href":"/application/customers/37"},{"rel":"fleetEvents","href":"/application/fleets/15/events"},{"rel":"fleetLastEvents","href":"/application/fleets/15/events/last"},{"rel":"fleetLastEventsCounters","href":"/application/fleets/15/events/last/counters"},{"rel":"fleetLastStatistics","href":"/application/fleets/15/lastStatistics"},{"rel":"gateways","href":"/application/gateways?search={\"operand\":\"fleet.id\",\"operation\":\"EQ\",\"values\":[\"15\"]}"},{"rel":"self","href":"/application/fleets/15"}]}],"nbPages":1} <-- END HTTP (1077-byte body) --> GET https://wmcintegration.wanesy.com//gms/application/fleets/15 HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIxMTYxNjV9.1ZdVyOfYt6Jixxu_oAN8eHp-qplqGnwuDj68AQ_Z0Bw Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java --> END GET <-- HTTP/1.1 200 (41ms) Server: nginx Date: Tue, 02 Jul 2019 15:09:25 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 599 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562080165487 OkHttp-Received-Millis: 1562080165528 {"name":"My fleet","links":[{"rel":"customer","href":"/application/customers/37"},{"rel":"fleetEvents","href":"/application/fleets/15/events"},{"rel":"fleetLastEvents","href":"/application/fleets/15/events/last"},{"rel":"fleetLastEventsCounters","href":"/application/fleets/15/events/last/counters"},{"rel":"fleetLastStatistics","href":"/application/fleets/15/lastStatistics"},{"rel":"gateways","href":"/application/gateways?search={\"operand\":\"fleet.id\",\"operation\":\"EQ\",\"values\":[\"15\"]}"},{"rel":"self","href":"/application/fleets/15"}],"id":15,"customer":{"name":"My company","id":37}} <-- END HTTP (599-byte body) The fleet Id=15 has name "My fleet" --> DELETE https://wmcintegration.wanesy.com//gms/application/fleets/15 HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIxMTYxNjV9.1ZdVyOfYt6Jixxu_oAN8eHp-qplqGnwuDj68AQ_Z0Bw Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java --> END DELETE <-- HTTP/1.1 204 (46ms) Server: nginx Date: Tue, 02 Jul 2019 15:09:25 GMT Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562080165531 OkHttp-Received-Millis: 1562080165575 <-- END HTTP The fleet Id=15 has been deleted= --> DELETE https://wmcintegration.wanesy.com//gms/application/customers/37 HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIxMTYxNjV9.1ZdVyOfYt6Jixxu_oAN8eHp-qplqGnwuDj68AQ_Z0Bw Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java --> END DELETE <-- HTTP/1.1 204 (52ms) Server: nginx Date: Tue, 02 Jul 2019 15:09:25 GMT Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562080165578 OkHttp-Received-Millis: 1562080165629 <-- END HTTP The customer Id=37 has been deleted
If we don't execute the deleteCustomer() and deleteFleet() methods, here is the result on the WMC dashboard:
In ./java_api_client/src/main/java/io/swagger/client/model/GatewayDto.java
, add “this” member as done previously for CustomerDto class for all get methods:
You must set some values to null instead of empty string in order for these fields to be not included in the REST mesage body. You code must be like this:
public class GatewayDto { @SerializedName("fleet") private FleetDto fleet = null; @SerializedName("altitude") private Integer altitude = null; @SerializedName("door") private String door = null; @SerializedName("gpsLongitude") private Double gpsLongitude = null; @SerializedName("latitude") private Double latitude = null; @SerializedName("description") private String description = null; @SerializedName("gpsAltitude") private Integer gpsAltitude = null; @SerializedName("type") private GatewayTypeDto type = null; @SerializedName("networkMaxDelayUp") private Integer networkMaxDelayUp = null; @SerializedName("gatewayKeys") private List<LnsGatewayKeyDto> gatewayKeys = null; @SerializedName("bearer") private String bearer = null; @SerializedName("links") private List<LinkDto> links = null; @SerializedName("connection") private Boolean connection = null; @SerializedName("gpsLatitude") private Double gpsLatitude = null; @SerializedName("longitude") private Double longitude = null; @SerializedName("dlAllowed") private Boolean dlAllowed = false; @SerializedName("networkMaxDelayDown") private Integer networkMaxDelayDown = null; @SerializedName("allowGPSPosition") private Boolean allowGPSPosition = true; @SerializedName("visibility") private String visibility = ""; @SerializedName("gpsPositionAllowed") private Boolean gpsPositionAllowed = true; @SerializedName("ip") private String ip = ""; @SerializedName("gps") private String gps = null; @SerializedName("maxTxPower") private Integer maxTxPower = null; @SerializedName("port") private Integer port = null; @SerializedName("adaptiveLatencyEnabled") private Boolean adaptiveLatencyEnabled = false; @SerializedName("eui") private String eui = ""; @SerializedName("name") private String name = ""; @SerializedName("region") private String region = ""; public GatewayDto fleet(FleetDto fleet) { this.fleet = fleet; return this; }
Do the same changes as for GatewaysDto class but use these types instead:
Replace | By | In method |
---|---|---|
<PaginatedDto> | <PaginatedDto<GatewayConfigurationDto» | getGatewayConfigurations |
<PaginatedDto> | <PaginatedDto<GatewayConfigurationDto» | getGatewayConfigurationsWithHttpInfo |
<PaginatedDto> | <PaginatedDto<GatewayConfigurationDto» | getGatewayConfigurationsAsync |
<PaginatedDto> | <PaginatedDto<GatewayConfigurationDto» | getGatewayConfigurationsValidateBeforeCall |
<PaginatedDto> | <PaginatedDto<GatewayConnectionDto» | getGatewayConnections |
<PaginatedDto> | <PaginatedDto<GatewayConnectionDto» | getGatewayConnectionsWithHttpInfo |
<PaginatedDto> | <PaginatedDto<GatewayConnectionDto» | getGatewayConnectionsAsync |
<PaginatedDto> | <PaginatedDto<GatewayConnectionDto» | getGatewayConnectionsValidateBeforeCall |
<PaginatedDto> | <PaginatedDto<GatewayEventDto» | getGatewayEvents |
<PaginatedDto> | <PaginatedDto<GatewayEventDto» | getGatewayEventsWithHttpInfo |
<PaginatedDto> | <PaginatedDto<GatewayEventDto» | getGatewayEventsAsync |
<PaginatedDto> | <PaginatedDto<GatewayEventDto» | getGatewayEventsValidateBeforeCall |
<PaginatedDto> | <PaginatedDto<LastOperationDto» | getGatewayLastOperations |
<PaginatedDto> | <PaginatedDto<LastOperationDto» | getGatewayLastOperationsWithHttpInfo |
<PaginatedDto> | <PaginatedDto<LastOperationDto» | getGatewayLastOperationsAsync |
<PaginatedDto> | <PaginatedDto<LastOperationDto» | getGatewayLastOperationsValidateBeforeCall |
<PaginatedDto> | <PaginatedDto<LastStatisticDto» | getGatewayLastStatistics |
<PaginatedDto> | <PaginatedDto<LastStatisticDto» | getGatewayLastStatisticsWithHttpInfo |
<PaginatedDto> | <PaginatedDto<LastStatisticDto» | getGatewayLastStatisticsAsync |
<PaginatedDto> | <PaginatedDto<LastStatisticDto» | getGatewayLastStatisticsValidateBeforeCall |
<PaginatedDto> | <PaginatedDto<GatewayNumericStatisticsDto» | getGatewayNumericStatistics |
<PaginatedDto> | <PaginatedDto<GatewayNumericStatisticsDto» | getGatewayNumericStatisticsWithHttpInfo |
<PaginatedDto> | <PaginatedDto<GatewayNumericStatisticsDto» | getGatewayNumericStatisticsAsync |
<PaginatedDto> | <PaginatedDto<GatewayNumericStatisticsDto» | getGatewayNumericStatisticsValidateBeforeCall |
<PaginatedDto> | <PaginatedDto<GatewaySnmpLogDto» | getGatewaySnmpLogs |
<PaginatedDto> | <PaginatedDto<GatewaySnmpLogDto» | getGatewaySnmpLogsWithHttpInfo |
<PaginatedDto> | <PaginatedDto<GatewaySnmpLogDto» | getGatewaySnmpLogsAsync |
<PaginatedDto> | <PaginatedDto<GatewaySnmpLogDto» | getGatewaySnmpLogsValidateBeforeCall |
<PaginatedDto> | <PaginatedDto<GatewayTermStatisticsDto» | getGatewayTermStatistics |
<PaginatedDto> | <PaginatedDto<GatewayTermStatisticsDto» | getGatewayTermStatisticsWithHttpInfo |
<PaginatedDto> | <PaginatedDto<GatewayTermStatisticsDto» | getGatewayTermStatisticsAsync |
<PaginatedDto> | <PaginatedDto<GatewayTermStatisticsDto» | getGatewayTermStatisticsValidateBeforeCall |
<PaginatedDto> | <PaginatedDto<GatewayVersionDto» | getGatewayVersions |
<PaginatedDto> | <PaginatedDto<GatewayVersionDto» | getGatewayVersionsWithHttpInfo |
<PaginatedDto> | <PaginatedDto<GatewayVersionDto» | getGatewayVersionsAsync |
<PaginatedDto> | <PaginatedDto<GatewayVersionDto» | getGatewayVersionsValidateBeforeCall |
<PaginatedDto> | <PaginatedDto<GatewayDto» | getGateways |
<PaginatedDto> | <PaginatedDto<GatewayDto» | getGatewaysWithHttpInfo |
<PaginatedDto> | <PaginatedDto<GatewayDto» | getGatewaysAsync |
<PaginatedDto> | <PaginatedDto<GatewayDto» | getGatewaysValidateBeforeCall |
<PaginatedDto> | <PaginatedDto<GatewayModemStatisticDto» | getModemStatistics |
<PaginatedDto> | <PaginatedDto<GatewayModemStatisticDto» | getModemStatisticsWithHttpInfo |
<PaginatedDto> | <PaginatedDto<GatewayModemStatisticDto» | getModemStatisticsAsync |
<PaginatedDto> | <PaginatedDto<GatewayModemStatisticDto» | getModemStatisticsValidateBeforeCall |
<PaginatedDto> | <PaginatedDto<KpiDto» | getRncCustomerGatewayKpi |
<PaginatedDto> | <PaginatedDto<KpiDto» | getRncCustomerGatewayKpiWithHttpInfo |
<PaginatedDto> | <PaginatedDto<KpiDto» | getRncCustomerGatewayKpiAsync |
<PaginatedDto> | <PaginatedDto<KpiDto» | getRncCustomerGatewayKpiValidateBeforeCall |
<PaginatedDto> | <PaginatedDto<TaskDto» | updateGatewaysFirmware |
<PaginatedDto> | <PaginatedDto<TaskDto» | updateGatewaysFirmwareWithHttpInfo |
<PaginatedDto> | <PaginatedDto<TaskDto» | updateGatewaysFirmwareAsync |
<PaginatedDto> | <PaginatedDto<TaskDto» | updateGatewaysFirmwareValidateBeforeCall |
For instance:
public PaginatedDto getGatewayConnections(String eui, String fields, String page, String pageSize, String untilDate) throws ApiException { ApiResponse<PaginatedDto> resp = getGatewayConnectionsWithHttpInfo(eui, fields, page, pageSize, untilDate); return resp.getData(); }
becomes:
public PaginatedDto<GatewayConnectionDto> getGatewayConnections(final String eui, final String fields, final String page, final String pageSize, final String untilDate) throws ApiException { ApiResponse<PaginatedDto<GatewayConnectionDto>> resp = getGatewayConnectionsWithHttpInfo(eui, fields, page, pageSize, untilDate); return resp.getData(); }
import io.swagger.client.ApiClient; import io.swagger.client.ApiException; import io.swagger.client.ApiResponse; import io.swagger.client.Configuration; import io.swagger.client.Pair; import io.swagger.client.ProgressRequestBody; import io.swagger.client.ProgressResponseBody; import io.swagger.client.model.GatewayConfigurationDto; import io.swagger.client.model.GatewayConnectionDto; import io.swagger.client.model.GatewayControlDto; import io.swagger.client.model.GatewayDto; import io.swagger.client.model.GatewayEventDto; import io.swagger.client.model.GatewayManagementDto; import io.swagger.client.model.GatewayModemStatisticDto; import io.swagger.client.model.GatewayNumericStatisticsDto; import io.swagger.client.model.GatewaySnmpLogDto; import io.swagger.client.model.GatewayStatisticsDto; import io.swagger.client.model.GatewayTermStatisticsDto; import io.swagger.client.model.GatewayVersionDto; import io.swagger.client.model.KpiDto; import io.swagger.client.model.LastEventDto; import io.swagger.client.model.LastOperationDto; import io.swagger.client.model.LastStatisticDto; import io.swagger.client.model.LnsGatewayKeyDto; import io.swagger.client.model.PaginatedDto; import io.swagger.client.model.ProgressMonitorDto; import io.swagger.client.model.TaskDto;
Add those import derectives:
import io.swagger.client.model.GatewayDto; import io.swagger.client.api.GatewaysApi; import io.swagger.client.model.GatewayTypeDto; import io.swagger.client.api.GatewayTypesApi;
import java.util.List;
Then add following code:
... // getFleet fleetDto = fleetInstance.getFleet(id_fleet, null); System.out.println("The fleet Id="+id_fleet+" has name \""+fleetDto.getName()+"\""); // createGateway GatewayTypesApi gatewayTypesInstance = new GatewayTypesApi(); List<GatewayTypeDto> types = gatewayTypesInstance.getGatewayTypes(null, null, null); GatewayDto gatewayDto = new GatewayDto(); gatewayDto.setEui("1231654687987746"); gatewayDto.setName("My Gateway"); gatewayDto.setRegion("EU868"); gatewayDto.setVisibility("PUBLIC"); gatewayDto.setAllowGPSPosition(false); gatewayDto.setDlAllowed(true); gatewayDto.setAdaptiveLatencyEnabled(true); gatewayDto.setType(types.get(0)); gatewayDto.setFleet(fleetDto.toId()); GatewaysApi gatewayInstance = new GatewaysApi(); gatewayInstance.createGatewayWithHttpInfo(gatewayDto, gatewayDto.getEui()); System.out.println("The gateway which name is \""+gatewayDto.getName()+"\" has been correctly created"); //deleteGateway gatewayInstance.deleteGateway(gatewayDto.getEui()); System.out.println("The gateway which name is \""+gatewayDto.getName()+"\" has been correctly deleted"); // deleteFleet //fleetInstance.deleteFleet(id_fleet); System.out.println("The fleet Id="+id_fleet+" has been deleted"); // deleteCustomer //customerInstance.deleteCustomer(id1); System.out.println("The customer Id="+id1+" has been deleted"); } }
Hello world Login Post --> POST https://wmcintegration.wanesy.com//gms/application/login HTTP/1.1 Content-Type: application/json; charset=utf-8 Content-Length: 150 Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java {"lastName":"","role":"","avatar":"","login":"your_login","enabled":false,"firstName":"","password":"your_password","validated":false,"phone":"","email":""} --> END POST (150-byte body) <-- HTTP/1.1 201 (563ms) Server: nginx Date: Wed, 03 Jul 2019 10:18:32 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 230 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562149112481 OkHttp-Received-Millis: 1562149112599 {"expiredDate":1562185112588,"tokenType":"Bearer","token":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIxODUxMTJ9.XI58WNU4yc-7ngkM89b7Gkq5Ucjb7aNseUhGk1UAIMc"} <-- END HTTP (230-byte body) --> POST https://wmcintegration.wanesy.com//gms/application/customers HTTP/1.1 Content-Type: application/json; charset=utf-8 Content-Length: 21 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIxODUxMTJ9.XI58WNU4yc-7ngkM89b7Gkq5Ucjb7aNseUhGk1UAIMc Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java {"name":"My company"} --> END POST (21-byte body) <-- HTTP/1.1 201 (37ms) Server: nginx Date: Wed, 03 Jul 2019 10:18:32 GMT Content-Length: 0 Connection: keep-alive Location: /application/customers/43 X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562149112611 OkHttp-Received-Millis: 1562149112646 <-- END HTTP (0-byte body) --> GET https://wmcintegration.wanesy.com//gms/application/customers/43 HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIxODUxMTJ9.XI58WNU4yc-7ngkM89b7Gkq5Ucjb7aNseUhGk1UAIMc Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java --> END GET <-- HTTP/1.1 200 (47ms) Server: nginx Date: Wed, 03 Jul 2019 10:18:32 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 680 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562149112653 OkHttp-Received-Millis: 1562149112701 {"maxEndDevices":null,"maxUsers":null,"maxGateways":null,"geolocationExpirationDate":null,"name":"My company","logo":null,"links":[{"rel":"clusters","href":"/application/clusters?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"43\"]}"},{"rel":"fleets","href":"/application/fleets?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"43\"]}"},{"rel":"gateways","href":"/application/gateways?search={\"operand\":\"fleet.customer.id\",\"operation\":\"EQ\",\"values\":[\"43\"]}"},{"rel":"rncKpis","href":"/application/customers/43/kpis"},{"rel":"self","href":"/application/customers/43"}],"id":43,"geolocationAuthorized":false,"billing":false} <-- END HTTP (680-byte body) The customer Id=43 has been created --> GET https://wmcintegration.wanesy.com//gms/application/customers?fields=&page=&pageSize=&search=%7B%22operand%22%3A%20%22name%22%2C%20%22operation%22%3A%20%22EQ%22%2C%09%22values%22%3A%20%5B%22My%20company%22%5D%7D&sort= HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIxODUxMTJ9.XI58WNU4yc-7ngkM89b7Gkq5Ucjb7aNseUhGk1UAIMc Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java --> END GET <-- HTTP/1.1 200 (36ms) Server: nginx Date: Wed, 03 Jul 2019 10:18:32 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 1168 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562149112706 OkHttp-Received-Millis: 1562149112742 {"count":1,"pageSize":50,"links":[{"rel":"first","href":"/application/customers?fields=&page=&pageSize=&search=%7B%22operand%22%3A%20%22name%22%2C%20%22operation%22%3A%20%22EQ%22%2C%09%22values%22%3A%20%5B%22My%20company%22%5D%7D&sort="},{"rel":"last","href":"/application/customers?fields=&page=&pageSize=&search=%7B%22operand%22%3A%20%22name%22%2C%20%22operation%22%3A%20%22EQ%22%2C%09%22values%22%3A%20%5B%22My%20company%22%5D%7D&sort="}],"page":1,"totalCount":1,"list":[{"id":43,"name":"My company","logo":null,"maxGateways":null,"maxEndDevices":null,"maxUsers":null,"geolocationAuthorized":false,"geolocationExpirationDate":null,"billing":false,"links":[{"rel":"clusters","href":"/application/clusters?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"43\"]}"},{"rel":"fleets","href":"/application/fleets?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"43\"]}"},{"rel":"gateways","href":"/application/gateways?search={\"operand\":\"fleet.customer.id\",\"operation\":\"EQ\",\"values\":[\"43\"]}"},{"rel":"rncKpis","href":"/application/customers/43/kpis"},{"rel":"self","href":"/application/customers/43"}]}],"nbPages":1} <-- END HTTP (1168-byte body) --> POST https://wmcintegration.wanesy.com//gms/application/fleets HTTP/1.1 Content-Type: application/json; charset=utf-8 Content-Length: 40 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIxODUxMTJ9.XI58WNU4yc-7ngkM89b7Gkq5Ucjb7aNseUhGk1UAIMc Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java {"name":"My fleet","customer":{"id":43}} --> END POST (40-byte body) <-- HTTP/1.1 201 (36ms) Server: nginx Date: Wed, 03 Jul 2019 10:18:32 GMT Content-Length: 0 Connection: keep-alive Location: /application/fleets/20 X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562149112750 OkHttp-Received-Millis: 1562149112785 <-- END HTTP (0-byte body) --> GET https://wmcintegration.wanesy.com//gms/application/fleets/20 HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIxODUxMTJ9.XI58WNU4yc-7ngkM89b7Gkq5Ucjb7aNseUhGk1UAIMc Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java --> END GET <-- HTTP/1.1 200 (36ms) Server: nginx Date: Wed, 03 Jul 2019 10:18:32 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 599 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562149112787 OkHttp-Received-Millis: 1562149112823 {"name":"My fleet","links":[{"rel":"customer","href":"/application/customers/43"},{"rel":"fleetEvents","href":"/application/fleets/20/events"},{"rel":"fleetLastEvents","href":"/application/fleets/20/events/last"},{"rel":"fleetLastEventsCounters","href":"/application/fleets/20/events/last/counters"},{"rel":"fleetLastStatistics","href":"/application/fleets/20/lastStatistics"},{"rel":"gateways","href":"/application/gateways?search={\"operand\":\"fleet.id\",\"operation\":\"EQ\",\"values\":[\"20\"]}"},{"rel":"self","href":"/application/fleets/20"}],"id":20,"customer":{"name":"My company","id":43}} <-- END HTTP (599-byte body) The fleet Id=20 has been created --> GET https://wmcintegration.wanesy.com//gms/application/fleets?fields=&page=&pageSize=&search=%7B%22operand%22%3A%20%22name%22%2C%20%22operation%22%3A%20%22EQ%22%2C%09%22values%22%3A%20%5B%22My%20fleet%22%5D%7D&sort= HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIxODUxMTJ9.XI58WNU4yc-7ngkM89b7Gkq5Ucjb7aNseUhGk1UAIMc Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java --> END GET <-- HTTP/1.1 200 (35ms) Server: nginx Date: Wed, 03 Jul 2019 10:18:32 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 1077 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562149112827 OkHttp-Received-Millis: 1562149112863 {"count":1,"pageSize":50,"links":[{"rel":"first","href":"/application/fleets?fields=&page=&pageSize=&search=%7B%22operand%22%3A%20%22name%22%2C%20%22operation%22%3A%20%22EQ%22%2C%09%22values%22%3A%20%5B%22My%20fleet%22%5D%7D&sort="},{"rel":"last","href":"/application/fleets?fields=&page=&pageSize=&search=%7B%22operand%22%3A%20%22name%22%2C%20%22operation%22%3A%20%22EQ%22%2C%09%22values%22%3A%20%5B%22My%20fleet%22%5D%7D&sort="}],"page":1,"totalCount":1,"list":[{"id":20,"customer":{"name":"My company","id":43},"name":"My fleet","links":[{"rel":"customer","href":"/application/customers/43"},{"rel":"fleetEvents","href":"/application/fleets/20/events"},{"rel":"fleetLastEvents","href":"/application/fleets/20/events/last"},{"rel":"fleetLastEventsCounters","href":"/application/fleets/20/events/last/counters"},{"rel":"fleetLastStatistics","href":"/application/fleets/20/lastStatistics"},{"rel":"gateways","href":"/application/gateways?search={\"operand\":\"fleet.id\",\"operation\":\"EQ\",\"values\":[\"20\"]}"},{"rel":"self","href":"/application/fleets/20"}]}],"nbPages":1} <-- END HTTP (1077-byte body) --> GET https://wmcintegration.wanesy.com//gms/application/fleets/20 HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIxODUxMTJ9.XI58WNU4yc-7ngkM89b7Gkq5Ucjb7aNseUhGk1UAIMc Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java --> END GET <-- HTTP/1.1 200 (35ms) Server: nginx Date: Wed, 03 Jul 2019 10:18:32 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 599 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562149112865 OkHttp-Received-Millis: 1562149112900 {"name":"My fleet","links":[{"rel":"customer","href":"/application/customers/43"},{"rel":"fleetEvents","href":"/application/fleets/20/events"},{"rel":"fleetLastEvents","href":"/application/fleets/20/events/last"},{"rel":"fleetLastEventsCounters","href":"/application/fleets/20/events/last/counters"},{"rel":"fleetLastStatistics","href":"/application/fleets/20/lastStatistics"},{"rel":"gateways","href":"/application/gateways?search={\"operand\":\"fleet.id\",\"operation\":\"EQ\",\"values\":[\"20\"]}"},{"rel":"self","href":"/application/fleets/20"}],"id":20,"customer":{"name":"My company","id":43}} <-- END HTTP (599-byte body) The fleet Id=20 has name "My fleet" --> GET https://wmcintegration.wanesy.com//gms/application/gatewayTypes HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIxODUxMTJ9.XI58WNU4yc-7ngkM89b7Gkq5Ucjb7aNseUhGk1UAIMc Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java --> END GET <-- HTTP/1.1 200 (33ms) Server: nginx Date: Wed, 03 Jul 2019 10:18:32 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 40 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562149112905 OkHttp-Received-Millis: 1562149112938 [{"name":"KERLINK SNMP","id":"KERLINK"}] <-- END HTTP (40-byte body) --> PUT https://wmcintegration.wanesy.com//gms/application/gateways/1231654687987746 HTTP/1.1 Content-Type: application/json; charset=utf-8 Content-Length: 265 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIxODUxMTJ9.XI58WNU4yc-7ngkM89b7Gkq5Ucjb7aNseUhGk1UAIMc Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java {"fleet":{"name":"","id":20},"type":{"name":"KERLINK SNMP","id":"KERLINK"},"dlAllowed":true,"allowGPSPosition":false,"visibility":"PUBLIC","gpsPositionAllowed":true,"ip":"","adaptiveLatencyEnabled":true,"eui":"1231654687987746","name":"My Gateway","region":"EU868"} --> END PUT (265-byte body) <-- HTTP/1.1 204 (70ms) Server: nginx Date: Wed, 03 Jul 2019 10:18:33 GMT Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562149112966 OkHttp-Received-Millis: 1562149113034 <-- END HTTP The gateway which name is "My Gateway" has been correctly created
After removing the delete methods, the result should be the following on the WMC dashboard:
package io.swagger.test_swagger_java_client; import io.swagger.client.*; import io.swagger.client.auth.*; import io.swagger.client.model.*; import io.swagger.client.api.LoginApi; import io.swagger.client.model.JwtDto; import io.swagger.client.model.UserDto; import io.swagger.client.ApiResponse; import io.swagger.client.model.CustomerDto; import io.swagger.client.api.CustomersApi; import io.swagger.client.model.ClusterDto; import io.swagger.client.api.ClustersApi; import io.swagger.client.model.PaginatedDto; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.fail; public class App_ClusterAPITest extends AbstractTest { public static CustomerDto createCustomer(CustomerDto customerDto, CustomersApi customerInstance) throws ApiException { Long id = null; if(customerDto == null) { customerDto = new CustomerDto(); ApiResponse<String> customerResponse = customerInstance.createCustomerWithHttpInfo(customerDto); id = getIdFromResponse(customerResponse); customerDto.setId(id); } else { if (customerDto.getId() == null) { ApiResponse<String> customerResponse = customerInstance.createCustomerWithHttpInfo(customerDto); id = getIdFromResponse(customerResponse); customerDto.setId(id); } else { id = customerDto.getId(); } } assertNotNull(id); customerDto = customerInstance.getCustomer(id, null); return customerDto; } public static ClusterDto createCluster(ClusterDto ClusterDto, ClustersApi ClusterInstance, CustomerDto customerDto) throws ApiException { Long id = null; if (customerDto != null) { if(ClusterDto == null) { ClusterDto = new ClusterDto(); ClusterDto.setCustomer(customerDto.toId()); ApiResponse<String> ClusterResponse = ClusterInstance.createClusterWithHttpInfo(ClusterDto); id = getIdFromResponse(ClusterResponse); } else { if (ClusterDto.getId() == null) { ClusterDto.setCustomer(customerDto.toId()); ApiResponse<String> ClusterResponse = ClusterInstance.createClusterWithHttpInfo(ClusterDto); id = getIdFromResponse(ClusterResponse); } else { id = ClusterDto.getId(); } } assertNotNull(id); ClusterDto = ClusterInstance.getCluster(id, null); } return ClusterDto; } public static void main(String[] args) throws ApiException { long id1=0, id_Cluster=0; // Say Hello System.out.println("Hello world"); String baseApiUrl = "https://wmcintegration.wanesy.com/"; int connectTimeout = 60000; // Create an ApiClient per thread ApiClient defaultClient = Configuration.getDefaultApiClient(); defaultClient.setBasePath(baseApiUrl); defaultClient.setConnectTimeout(connectTimeout); defaultClient.setDebugging(true); // login LoginApi loginApi = new LoginApi(defaultClient); UserDto body = new UserDto (); body.setLogin("your_login"); body.setPassword("your_password"); System.out.println("Login Post"); JwtDto jwt = loginApi.login(body); defaultClient.setApiKey("Bearer " + jwt.getToken()); Configuration.setDefaultApiClient(defaultClient); //createCustomer CustomersApi customerInstance = new CustomersApi(); CustomerDto customerDto = new CustomerDto(); try { customerDto.setName("My company"); customerDto = createCustomer(customerDto, customerInstance); id1 = customerDto.getId(); System.out.println("CustomerId="+id1); } catch (ApiException e) { System.err.println("Exception when calling CustomersApi#createCustomer"); e.printStackTrace(); } // getCustomers - a single instance String sort = ""; // Sort value String pageSize = ""; // Page size value String search = "{\"operand\": \"name\", \"operation\": \"EQ\", \"values\": [\"My company\"]}"; // Search condition String fields = ""; // List of fields to display String page = ""; // Page number try { PaginatedDto<CustomerDto> paginatedDto = customerInstance.getCustomers(fields, page, pageSize, search, sort); assertEquals(Integer.valueOf(1), paginatedDto.getCount()); } catch (ApiException e) { System.err.println("Exception when calling CustomersApi#applicationCustomersGet"); e.printStackTrace(); } // createCluster ClustersApi ClusterInstance = new ClustersApi(); ClusterDto ClusterDto = new ClusterDto(); try { ClusterDto.setName("My Cluster"); ClusterDto = createCluster(ClusterDto, ClusterInstance, customerDto); id_Cluster = ClusterDto.getId(); System.out.println("ClusterId="+id_Cluster); } catch (ApiException e) { System.err.println("Exception when calling ClustersApi#createCluster"); e.printStackTrace(); } // getClusters sort = ""; // Sort value pageSize = ""; // Page size value search = "{\"operand\": \"name\", \"operation\": \"EQ\", \"values\": [\"My Cluster\"]}"; // Search condition fields = ""; // List of fields to display page = ""; // Page number try { PaginatedDto<ClusterDto> paginatedDto = ClusterInstance.getClusters(fields, page, pageSize, search, sort); assertEquals(Integer.valueOf(1), paginatedDto.getCount()); } catch (ApiException e) { System.err.println("Exception when calling ClustersApi#getClusters"); e.printStackTrace(); } // getCluster ClusterDto = ClusterInstance.getCluster(id_Cluster, null); System.out.println("The Cluster Id="+id_Cluster+" has name \""+ClusterDto.getName()+"\""); // deleteCluster ClusterInstance.deleteCluster(id_Cluster); System.out.println("The Cluster Id="+id_Cluster+" has been deleted="); // deleteCustomer customerInstance.deleteCustomer(id1); System.out.println("The customer Id="+id1+" has been deleted"); } }
The result should be on WMC dashboard after removing the delete methods:
After all changes have been done in EndDeviceDTO and EndDeviceApi classes, here is the client test code:
package io.swagger.test_swagger_java_client; import io.swagger.client.*; import io.swagger.client.auth.*; import io.swagger.client.model.*; import io.swagger.client.api.LoginApi; import io.swagger.client.model.JwtDto; import io.swagger.client.model.UserDto; import io.swagger.client.ApiResponse; import io.swagger.client.model.CustomerDto; import io.swagger.client.api.CustomersApi; import io.swagger.client.model.ClusterDto; import io.swagger.client.api.ClustersApi; import io.swagger.client.model.PaginatedDto; import io.swagger.client.model.EndDeviceDto; import io.swagger.client.api.EndDevicesApi; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.fail; public class App_EndDeviceAPITest extends AbstractTest { public static CustomerDto createCustomer(CustomerDto customerDto, CustomersApi customerInstance) throws ApiException { Long id = null; if(customerDto == null) { customerDto = new CustomerDto(); ApiResponse<String> customerResponse = customerInstance.createCustomerWithHttpInfo(customerDto); id = getIdFromResponse(customerResponse); customerDto.setId(id); } else { if (customerDto.getId() == null) { ApiResponse<String> customerResponse = customerInstance.createCustomerWithHttpInfo(customerDto); id = getIdFromResponse(customerResponse); customerDto.setId(id); } else { id = customerDto.getId(); } } assertNotNull(id); customerDto = customerInstance.getCustomer(id, null); return customerDto; } public static ClusterDto createCluster(ClusterDto ClusterDto, ClustersApi ClusterInstance, CustomerDto customerDto) throws ApiException { Long id = null; if (customerDto != null) { if(ClusterDto == null) { ClusterDto = new ClusterDto(); ClusterDto.setCustomer(customerDto.toId()); ApiResponse<String> ClusterResponse = ClusterInstance.createClusterWithHttpInfo(ClusterDto); id = getIdFromResponse(ClusterResponse); } else { if (ClusterDto.getId() == null) { ClusterDto.setCustomer(customerDto.toId()); ApiResponse<String> ClusterResponse = ClusterInstance.createClusterWithHttpInfo(ClusterDto); id = getIdFromResponse(ClusterResponse); } else { id = ClusterDto.getId(); } } assertNotNull(id); ClusterDto = ClusterInstance.getCluster(id, null); } return ClusterDto; } public static EndDeviceDto createEndDevice(CustomerDto customerDto , ClusterDto clusterDto, EndDeviceDto endDeviceDto, EndDevicesApi endDevicesInstance) throws ApiException { if(endDeviceDto == null) { endDeviceDto.setCluster(clusterDto.toId()); ApiResponse<String> clusterResponse = endDevicesInstance.putEndDeviceWithHttpInfo(endDeviceDto, endDeviceDto.getDevEui()); } else { endDeviceDto.setCluster(clusterDto.toId()); ApiResponse<String> clusterResponse = endDevicesInstance.putEndDeviceWithHttpInfo(endDeviceDto, endDeviceDto.getDevEui()); } assertNotNull(endDeviceDto.getDevEui()); //get endDeviceDto = endDevicesInstance.getEndDevice(endDeviceDto.getDevEui(), null); return endDeviceDto; } public static void main(String[] args) throws ApiException { long id1=0, id_Cluster=0; // Say Hello System.out.println("Hello world"); String baseApiUrl = "https://wmcintegration.wanesy.com/"; int connectTimeout = 60000; // Create an ApiClient per thread ApiClient defaultClient = Configuration.getDefaultApiClient(); defaultClient.setBasePath(baseApiUrl); defaultClient.setConnectTimeout(connectTimeout); defaultClient.setDebugging(true); // login LoginApi loginApi = new LoginApi(defaultClient); UserDto body = new UserDto (); body.setLogin("your_login"); body.setPassword("your_password"); System.out.println("Login Post"); JwtDto jwt = loginApi.login(body); defaultClient.setApiKey("Bearer " + jwt.getToken()); Configuration.setDefaultApiClient(defaultClient); //createCustomer CustomersApi customerInstance = new CustomersApi(); CustomerDto customerDto = new CustomerDto(); try { customerDto.setName("My company"); customerDto = createCustomer(customerDto, customerInstance); id1 = customerDto.getId(); System.out.println("CustomerId="+id1); } catch (ApiException e) { System.err.println("Exception when calling CustomersApi#createCustomer"); e.printStackTrace(); } // getCustomers - a single instance String sort = ""; // Sort value String pageSize = ""; // Page size value String search = "{\"operand\": \"name\", \"operation\": \"EQ\", \"values\": [\"My company\"]}"; // Search condition String fields = ""; // List of fields to display String page = ""; // Page number try { PaginatedDto<CustomerDto> paginatedDto = customerInstance.getCustomers(fields, page, pageSize, search, sort); assertEquals(Integer.valueOf(1), paginatedDto.getCount()); } catch (ApiException e) { System.err.println("Exception when calling CustomersApi#applicationCustomersGet"); e.printStackTrace(); } // createCluster ClustersApi clusterInstance = new ClustersApi(); ClusterDto clusterDto = new ClusterDto(); try { clusterDto.setName("My Cluster"); clusterDto = createCluster(clusterDto, clusterInstance, customerDto); id_Cluster = clusterDto.getId(); System.out.println("ClusterId="+id_Cluster); } catch (ApiException e) { System.err.println("Exception when calling ClustersApi#createCluster"); e.printStackTrace(); } // getClusters sort = ""; // Sort value pageSize = ""; // Page size value search = "{\"operand\": \"name\", \"operation\": \"EQ\", \"values\": [\"My Cluster\"]}"; // Search condition fields = ""; // List of fields to display page = ""; // Page number try { PaginatedDto<ClusterDto> paginatedDto = clusterInstance.getClusters(fields, page, pageSize, search, sort); assertEquals(Integer.valueOf(1), paginatedDto.getCount()); } catch (ApiException e) { System.err.println("Exception when calling ClustersApi#getClusters"); e.printStackTrace(); } // getCluster clusterDto = clusterInstance.getCluster(id_Cluster, null); System.out.println("The Cluster Id="+id_Cluster+" has name \""+clusterDto.getName()+"\""); // CreateEndDevice EndDevicesApi endDevicesInstance = new EndDevicesApi(); EndDeviceDto endDeviceDto = new EndDeviceDto(); endDeviceDto = new EndDeviceDto(); endDeviceDto.setName("My end-device"); endDeviceDto.setProfile("walking"); endDeviceDto.setClassType("A"); endDeviceDto.setAdrEnabled(true); endDeviceDto.setRfRegion("EU868"); endDeviceDto.setMacVersion("1.0.1"); endDeviceDto.setRegParamsRevision(""); endDeviceDto.setActivation("ABP"); endDeviceDto.setDevEui("1234567897894561"); endDeviceDto.setAppSKey("12345678978945612345678945612345"); endDeviceDto.setNwkSKey("12345678978945612345678945612345"); endDeviceDto.setDevAddr("12345678"); endDeviceDto.setGeolocation("Inherited"); createEndDevice(customerDto , clusterDto, endDeviceDto, endDevicesInstance); //deleteEndDevice endDevicesInstance.deleteEndDevice(endDeviceDto.getDevEui()); System.out.println("The EndDevice DevEui="+endDeviceDto.getDevEui()+" has been deleted="); // deleteCluster clusterInstance.deleteCluster(id_Cluster); System.out.println("The Cluster Id="+id_Cluster+" has been deleted="); // deleteCustomer customerInstance.deleteCustomer(id1); System.out.println("The customer Id="+id1+" has been deleted"); } }
Test result:
Hello world Login Post --> POST https://wmcintegration.wanesy.com//gms/application/login HTTP/1.1 Content-Type: application/json; charset=utf-8 Content-Length: 150 Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java {"lastName":"","role":"","avatar":"","login":"your_login","enabled":false,"firstName":"","password":"your_password","validated":false,"phone":"","email":""} --> END POST (150-byte body) <-- HTTP/1.1 201 (826ms) Server: nginx Date: Thu, 04 Jul 2019 14:27:08 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 230 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562250428039 OkHttp-Received-Millis: 1562250428164 {"expiredDate":1562286428135,"tokenType":"Bearer","token":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIyODY0Mjh9.U4guqiWANuofbF9r7hIC27RSM84glujzfkt7-a-UIeo"} <-- END HTTP (230-byte body) --> POST https://wmcintegration.wanesy.com//gms/application/customers HTTP/1.1 Content-Type: application/json; charset=utf-8 Content-Length: 21 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIyODY0Mjh9.U4guqiWANuofbF9r7hIC27RSM84glujzfkt7-a-UIeo Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java {"name":"My company"} --> END POST (21-byte body) <-- HTTP/1.1 201 (40ms) Server: nginx Date: Thu, 04 Jul 2019 14:27:08 GMT Content-Length: 0 Connection: keep-alive Location: /application/customers/60 X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562250428188 OkHttp-Received-Millis: 1562250428226 <-- END HTTP (0-byte body) --> GET https://wmcintegration.wanesy.com//gms/application/customers/60 HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIyODY0Mjh9.U4guqiWANuofbF9r7hIC27RSM84glujzfkt7-a-UIeo Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java --> END GET <-- HTTP/1.1 200 (38ms) Server: nginx Date: Thu, 04 Jul 2019 14:27:08 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 680 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562250428241 OkHttp-Received-Millis: 1562250428279 {"maxEndDevices":null,"maxUsers":null,"maxGateways":null,"geolocationExpirationDate":null,"name":"My company","logo":null,"links":[{"rel":"clusters","href":"/application/clusters?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"60\"]}"},{"rel":"fleets","href":"/application/fleets?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"60\"]}"},{"rel":"gateways","href":"/application/gateways?search={\"operand\":\"fleet.customer.id\",\"operation\":\"EQ\",\"values\":[\"60\"]}"},{"rel":"rncKpis","href":"/application/customers/60/kpis"},{"rel":"self","href":"/application/customers/60"}],"id":60,"geolocationAuthorized":false,"billing":false} <-- END HTTP (680-byte body) CustomerId=60 --> GET https://wmcintegration.wanesy.com//gms/application/customers?fields=&page=&pageSize=&search=%7B%22operand%22%3A%20%22name%22%2C%20%22operation%22%3A%20%22EQ%22%2C%09%22values%22%3A%20%5B%22My%20company%22%5D%7D&sort= HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIyODY0Mjh9.U4guqiWANuofbF9r7hIC27RSM84glujzfkt7-a-UIeo Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java --> END GET <-- HTTP/1.1 200 (39ms) Server: nginx Date: Thu, 04 Jul 2019 14:27:08 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 1168 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562250428300 OkHttp-Received-Millis: 1562250428339 {"count":1,"pageSize":50,"links":[{"rel":"first","href":"/application/customers?fields=&page=&pageSize=&search=%7B%22operand%22%3A%20%22name%22%2C%20%22operation%22%3A%20%22EQ%22%2C%09%22values%22%3A%20%5B%22My%20company%22%5D%7D&sort="},{"rel":"last","href":"/application/customers?fields=&page=&pageSize=&search=%7B%22operand%22%3A%20%22name%22%2C%20%22operation%22%3A%20%22EQ%22%2C%09%22values%22%3A%20%5B%22My%20company%22%5D%7D&sort="}],"page":1,"totalCount":1,"list":[{"id":60,"name":"My company","logo":null,"maxGateways":null,"maxEndDevices":null,"maxUsers":null,"geolocationAuthorized":false,"geolocationExpirationDate":null,"billing":false,"links":[{"rel":"clusters","href":"/application/clusters?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"60\"]}"},{"rel":"fleets","href":"/application/fleets?search={\"operand\":\"customer.id\",\"operation\":\"EQ\",\"values\":[\"60\"]}"},{"rel":"gateways","href":"/application/gateways?search={\"operand\":\"fleet.customer.id\",\"operation\":\"EQ\",\"values\":[\"60\"]}"},{"rel":"rncKpis","href":"/application/customers/60/kpis"},{"rel":"self","href":"/application/customers/60"}]}],"nbPages":1} <-- END HTTP (1168-byte body) --> POST https://wmcintegration.wanesy.com//gms/application/clusters HTTP/1.1 Content-Type: application/json; charset=utf-8 Content-Length: 42 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIyODY0Mjh9.U4guqiWANuofbF9r7hIC27RSM84glujzfkt7-a-UIeo Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java {"name":"My Cluster","customer":{"id":60}} --> END POST (42-byte body) <-- HTTP/1.1 201 (42ms) Server: nginx Date: Thu, 04 Jul 2019 14:27:08 GMT Content-Length: 0 Connection: keep-alive Location: /application/clusters/25 X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562250428364 OkHttp-Received-Millis: 1562250428404 <-- END HTTP (0-byte body) --> GET https://wmcintegration.wanesy.com//gms/application/clusters/25 HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIyODY0Mjh9.U4guqiWANuofbF9r7hIC27RSM84glujzfkt7-a-UIeo Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java --> END GET <-- HTTP/1.1 200 (38ms) Server: nginx Date: Thu, 04 Jul 2019 14:27:08 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 496 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562250428423 OkHttp-Received-Millis: 1562250428463 {"pushConfiguration":null,"hexa":false,"name":"My Cluster","pushEnabled":false,"geolocEnabled":false,"links":[{"rel":"clusterLastEvents","href":"/application/clusters/25/events/last"},{"rel":"customer","href":"/application/customers/60"},{"rel":"endDevices","href":"/application/endDevices?search={\"operand\":\"cluster.id\",\"operation\":\"EQ\",\"values\":[\"25\"]}"},{"rel":"self","href":"/application/clusters/25"}],"id":25,"customer":{"name":"My company","id":60},"geolocExpirationDate":null} <-- END HTTP (496-byte body) ClusterId=25 --> GET https://wmcintegration.wanesy.com//gms/application/clusters?fields=&page=&pageSize=&search=%7B%22operand%22%3A%20%22name%22%2C%20%22operation%22%3A%20%22EQ%22%2C%09%22values%22%3A%20%5B%22My%20Cluster%22%5D%7D&sort= HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIyODY0Mjh9.U4guqiWANuofbF9r7hIC27RSM84glujzfkt7-a-UIeo Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java --> END GET <-- HTTP/1.1 200 (38ms) Server: nginx Date: Thu, 04 Jul 2019 14:27:08 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 982 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562250428468 OkHttp-Received-Millis: 1562250428506 {"count":1,"pageSize":50,"links":[{"rel":"first","href":"/application/clusters?fields=&page=&pageSize=&search=%7B%22operand%22%3A%20%22name%22%2C%20%22operation%22%3A%20%22EQ%22%2C%09%22values%22%3A%20%5B%22My%20Cluster%22%5D%7D&sort="},{"rel":"last","href":"/application/clusters?fields=&page=&pageSize=&search=%7B%22operand%22%3A%20%22name%22%2C%20%22operation%22%3A%20%22EQ%22%2C%09%22values%22%3A%20%5B%22My%20Cluster%22%5D%7D&sort="}],"page":1,"totalCount":1,"list":[{"id":25,"customer":{"name":"My company","id":60},"name":"My Cluster","pushEnabled":false,"pushConfiguration":null,"geolocEnabled":false,"geolocExpirationDate":null,"hexa":false,"links":[{"rel":"clusterLastEvents","href":"/application/clusters/25/events/last"},{"rel":"customer","href":"/application/customers/60"},{"rel":"endDevices","href":"/application/endDevices?search={\"operand\":\"cluster.id\",\"operation\":\"EQ\",\"values\":[\"25\"]}"},{"rel":"self","href":"/application/clusters/25"}]}],"nbPages":1} <-- END HTTP (982-byte body) --> GET https://wmcintegration.wanesy.com//gms/application/clusters/25 HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIyODY0Mjh9.U4guqiWANuofbF9r7hIC27RSM84glujzfkt7-a-UIeo Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java --> END GET <-- HTTP/1.1 200 (37ms) Server: nginx Date: Thu, 04 Jul 2019 14:27:08 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 496 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562250428509 OkHttp-Received-Millis: 1562250428546 {"pushConfiguration":null,"hexa":false,"name":"My Cluster","pushEnabled":false,"geolocEnabled":false,"links":[{"rel":"clusterLastEvents","href":"/application/clusters/25/events/last"},{"rel":"customer","href":"/application/customers/60"},{"rel":"endDevices","href":"/application/endDevices?search={\"operand\":\"cluster.id\",\"operation\":\"EQ\",\"values\":[\"25\"]}"},{"rel":"self","href":"/application/clusters/25"}],"id":25,"customer":{"name":"My company","id":60},"geolocExpirationDate":null} <-- END HTTP (496-byte body) The Cluster Id=25 has name "My Cluster" --> PUT https://wmcintegration.wanesy.com//gms/application/endDevices/1234567897894561 HTTP/1.1 Content-Type: application/json; charset=utf-8 Content-Length: 345 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIyODY0Mjh9.U4guqiWANuofbF9r7hIC27RSM84glujzfkt7-a-UIeo Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java {"devAddr":"12345678","cluster":{"id":25},"appSKey":"12345678978945612345678945612345","nwkSKey":"12345678978945612345678945612345","devEui":"1234567897894561","adrEnabled":true,"rfRegion":"EU868","profile":"walking","regParamsRevision":"","name":"My end-device","macVersion":"1.0.1","activation":"ABP","classType":"A","geolocation":"Inherited"} --> END PUT (345-byte body) <-- HTTP/1.1 201 (48ms) Server: nginx Date: Thu, 04 Jul 2019 14:27:08 GMT Content-Length: 0 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562250428561 OkHttp-Received-Millis: 1562250428607 <-- END HTTP (0-byte body) --> GET https://wmcintegration.wanesy.com//gms/application/endDevices/1234567897894561 HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZGEiLCJyb2xlIjoiU1VQRVJfQURNSU4iLCJjdXN0b21lcklkIjoxLCJpc3MiOiJnbXMiLCJleHAiOjE1NjIyODY0Mjh9.U4guqiWANuofbF9r7hIC27RSM84glujzfkt7-a-UIeo Accept: application/json User-Agent: Swagger-Codegen/1.0.0/java --> END GET <-- HTTP/1.1 200 (37ms) Server: nginx Date: Thu, 04 Jul 2019 14:27:08 GMT Content-Type: application/json; qs=0;charset=UTF-8 Content-Length: 2332 Connection: keep-alive X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Frame-Options: DENY Access-Control-Expose-Headers: Location OkHttp-Sent-Millis: 1562250428614 OkHttp-Received-Millis: 1562250428650 {"devAddr":"12345678","cluster":{"name":"My Cluster","links":[{"rel":"clusterLastEvents","href":"/application/clusters/25/events/last"},{"rel":"customer","href":"/application/customers/60"},{"rel":"endDevices","href":"/application/endDevices?search={\"operand\":\"cluster.id\",\"operation\":\"EQ\",\"values\":[\"25\"]}"},{"rel":"self","href":"/application/clusters/25"}],"id":25},"altitude":null,"appSKey":"12345678978945612345678945612345","pingSlotFreq":null,"nwkSKey":"12345678978945612345678945612345","latitude":null,"fcntUp":0,"devEui":"1234567897894561","fNwkSIntKey":null,"adrEnabled":true,"cfList":null,"lastDataUpDate":null,"appKey":null,"links":[{"rel":"cluster","href":"/application/clusters/25"},{"rel":"createMacCommand","href":"/application/endDevices/1234567897894561/macCommands"},{"rel":"customer","href":"/application/customers/60"},{"rel":"dataDown","href":"/application/dataDown?search={\"operand\":\"endDevice.devEui\",\"operation\":\"EQ\",\"values\":[\"1234567897894561\"]}"},{"rel":"dataUp","href":"/application/dataUp?search={\"operand\":\"endDevice.devEui\",\"operation\":\"EQ\",\"values\":[\"1234567897894561\"]}"},{"rel":"endDeviceEvents","href":"/application/endDevices/1234567897894561/events"},{"rel":"endDeviceGatewaysPositions","href":"/application/endDevices/1234567897894561/positions/gateways"},{"rel":"endDeviceLastEvents","href":"/application/endDevices/1234567897894561/events/last"},{"rel":"endDeviceLastGateways","href":"/application/endDevices/1234567897894561/gateways/last"},{"rel":"endDeviceMessages","href":"/application/endDevices/1234567897894561/messages"},{"rel":"endDevicePositions","href":"/application/endDevices/1234567897894561/positions"},{"rel":"resetEndDeviceFrameCounters","href":"/application/endDevices/1234567897894561/resetFrameCounters"},{"rel":"rncKpis","href":"/application/endDevices/1234567897894561/kpis"},{"rel":"self","href":"/application/endDevices/1234567897894561"}],"rx1DrOffset":null,"longitude":null,"pingSlotDr":null,"rx1Delay":null,"rfRegion":"EU868","profile":"WALKING","rx2Dr":null,"rx2Freq":null,"lastDataDownDate":null,"sNwkSIntKey":null,"rxWindows":null,"regParamsRevision":"","name":"My end-device","appEui":null,"fcntDown":0,"activation":"ABP","macVersion":"1.0.1","classType":"A","dwellTime":null,"geolocation":"INHERITED","status":"NEVER_SEEN"} <-- END HTTP (2332-byte body)
The result on the WMC dashboard (after removing the delete methods):
Others ressources |
---|
abstracttest.java |