I recently joined a project.I am a beginner. My responsibility is to create server stub, create SDK and create a java client using SDk and communicate with server stub.
I created server stub using,
java -jar /data/Swagger/swagger-codegen-cli.jar generate \
-i /data/AM/ame/ameee.json \
-l spring --library spring-mvc\
-o /data/stub/spring_mvc
Run it using,
mvn clean package jetty:run
url is,
http://localhost:8002/api/swagger-ui.html
generated SDK using,
java -jar /data/Swagger/swagger-codegen-cli.jar generate \
-i /data/AM/ame/ameee.json \
-l java\
-o /data/stub/SDK
Then i compiled the SDk and imported the .jar file to my client project, this is the code,
import io.swagger.client.*;
import io.swagger.client.auth.*;
import io.swagger.client.model.*;
import io.swagger.client.api.MonatizationAPIApi;
import java.io.File;
import java.util.*;
public class MonatizationAPIApiExample {
public static void main(String[] args) {
MonatizationAPIApi apiInstance = new MonatizationAPIApi();
try {
List<ParticipantType> result = apiInstance.getAllParticipantTypesUsingGET();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling MonatizationAPIApi#getAllParticipantTypesUsingGET");
e.printStackTrace();
}
}
}
I'm still trying to get a connection to the server stub,
this is the error,
Exception when calling MonatizationAPIApi#getAllParticipantTypesUsingGET
io.swagger.client.ApiException: java.net.ConnectException: Failed to connect to localhost/0:0:0:0:0:0:0:1:8080
at io.swagger.client.ApiClient.execute(ApiClient.java:984)
at io.swagger.client.api.MonatizationAPIApi.getAllParticipantTypesUsingGETWithHttpInfo(MonatizationAPIApi.java:878)
at io.swagger.client.api.MonatizationAPIApi.getAllParticipantTypesUsingGET(MonatizationAPIApi.java:865)
at MonatizationAPIApiExample.main(MonatizationAPIApiExample.java:19)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: java.net.ConnectException: Failed to connect to localhost/0:0:0:0:0:0:0:1:8080
at com.squareup.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:143)
at com.squareup.okhttp.internal.io.RealConnection.connect(RealConnection.java:112)
at com.squareup.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:184)
at com.squareup.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:126)
at com.squareup.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:95)
at com.squareup.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:281)
at com.squareup.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:224)
at com.squareup.okhttp.Call.getResponse(Call.java:286)
at com.squareup.okhttp.Call$ApplicationInterceptorChain.proceed(Call.java:243)
at com.squareup.okhttp.Call.getResponseWithInterceptorChain(Call.java:205)
at com.squareup.okhttp.Call.execute(Call.java:80)
at io.swagger.client.ApiClient.execute(ApiClient.java:980)
... 8 more
Process finished with exit code 0
Here the calling address differ from my server stub address. How can i change it? (I searched everywhere, i can't find an address like this localhost/0:0:0:0:0:0:0:1:8080
in the code.
PLzz help me. Thank you
My guess is that your OpenAPI/Swagger spec does not have a proper host
defined: https://github.com/swagger-api/swagger-codegen/blob/master/modules/swagger-codegen/src/test/resources/2_0/petstore.yaml#L12 and therefore Swagger Codegen defaults it to localhost.
You can also change the host
during runtime in the Configuration
object (Java API client)