mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-07-03 22:20:56 +00:00
[dart-dio] Improve API & API-Client field initialization (#8589)
This commit is contained in:
parent
769b0e0e38
commit
1b440e191c
@ -11,10 +11,12 @@ import 'package:built_value/serializer.dart';
|
|||||||
{{/fullImports}}
|
{{/fullImports}}
|
||||||
|
|
||||||
class {{classname}} {
|
class {{classname}} {
|
||||||
final Dio _dio;
|
|
||||||
Serializers _serializers;
|
|
||||||
|
|
||||||
{{classname}}(this._dio, this._serializers);
|
final Dio _dio;
|
||||||
|
|
||||||
|
final Serializers _serializers;
|
||||||
|
|
||||||
|
const {{classname}}(this._dio, this._serializers);
|
||||||
|
|
||||||
{{#operation}}
|
{{#operation}}
|
||||||
/// {{{summary}}}
|
/// {{{summary}}}
|
||||||
|
@ -10,31 +10,37 @@ import 'package:{{pubName}}/auth/oauth.dart';
|
|||||||
{{#apiInfo}}{{#apis}}import 'package:{{pubName}}/api/{{classFilename}}.dart';
|
{{#apiInfo}}{{#apis}}import 'package:{{pubName}}/api/{{classFilename}}.dart';
|
||||||
{{/apis}}{{/apiInfo}}
|
{{/apis}}{{/apiInfo}}
|
||||||
|
|
||||||
final _defaultInterceptors = [OAuthInterceptor(), BasicAuthInterceptor(), ApiKeyAuthInterceptor()];
|
final _defaultInterceptors = [
|
||||||
|
OAuthInterceptor(),
|
||||||
|
BasicAuthInterceptor(),
|
||||||
|
ApiKeyAuthInterceptor(),
|
||||||
|
];
|
||||||
|
|
||||||
class {{clientName}} {
|
class {{clientName}} {
|
||||||
|
|
||||||
Dio dio;
|
static const String basePath = r'{{{basePath}}}';
|
||||||
Serializers serializers;
|
|
||||||
String basePath = '{{{basePath}}}';
|
|
||||||
|
|
||||||
{{clientName}}({this.dio, Serializers serializers, String basePathOverride, List<Interceptor> interceptors}) {
|
final Dio dio;
|
||||||
if (dio == null) {
|
|
||||||
BaseOptions options = new BaseOptions(
|
final Serializers serializers;
|
||||||
|
|
||||||
|
{{clientName}}({
|
||||||
|
Dio dio,
|
||||||
|
Serializers serializers,
|
||||||
|
String basePathOverride,
|
||||||
|
List<Interceptor> interceptors,
|
||||||
|
}) : this.serializers = serializers ?? standardSerializers,
|
||||||
|
this.dio = dio ??
|
||||||
|
Dio(BaseOptions(
|
||||||
baseUrl: basePathOverride ?? basePath,
|
baseUrl: basePathOverride ?? basePath,
|
||||||
connectTimeout: 5000,
|
connectTimeout: 5000,
|
||||||
receiveTimeout: 3000,
|
receiveTimeout: 3000,
|
||||||
);
|
)) {
|
||||||
this.dio = new Dio(options);
|
if (interceptors == null) {
|
||||||
}
|
this.dio.interceptors.addAll(_defaultInterceptors);
|
||||||
|
} else {
|
||||||
if (interceptors == null) {
|
this.dio.interceptors.addAll(interceptors);
|
||||||
this.dio.interceptors.addAll(_defaultInterceptors);
|
}
|
||||||
} else {
|
|
||||||
this.dio.interceptors.addAll(interceptors);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.serializers = serializers ?? standardSerializers;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void setOAuthToken(String name, String token) {
|
void setOAuthToken(String name, String token) {
|
||||||
|
@ -4,6 +4,9 @@ import 'package:built_value/serializer.dart';
|
|||||||
import 'package:time_machine/time_machine.dart';
|
import 'package:time_machine/time_machine.dart';
|
||||||
|
|
||||||
class OffsetDateSerializer implements PrimitiveSerializer<OffsetDate> {
|
class OffsetDateSerializer implements PrimitiveSerializer<OffsetDate> {
|
||||||
|
|
||||||
|
const OffsetDateSerializer();
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Iterable<Type> get types => BuiltList<Type>([OffsetDate]);
|
Iterable<Type> get types => BuiltList<Type>([OffsetDate]);
|
||||||
|
|
||||||
@ -25,6 +28,9 @@ class OffsetDateSerializer implements PrimitiveSerializer<OffsetDate> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class OffsetDateTimeSerializer implements PrimitiveSerializer<OffsetDateTime> {
|
class OffsetDateTimeSerializer implements PrimitiveSerializer<OffsetDateTime> {
|
||||||
|
|
||||||
|
const OffsetDateTimeSerializer();
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Iterable<Type> get types => BuiltList<Type>([OffsetDateTime]);
|
Iterable<Type> get types => BuiltList<Type>([OffsetDateTime]);
|
||||||
|
|
||||||
|
@ -26,8 +26,8 @@ Serializers serializers = (_$serializers.toBuilder(){{#apiInfo}}{{#apis}}{{#seri
|
|||||||
() => MapBuilder<String, {{baseType}}>(),
|
() => MapBuilder<String, {{baseType}}>(),
|
||||||
{{/isMap}}
|
{{/isMap}}
|
||||||
){{/serializers}}{{/apis}}{{/apiInfo}}{{#timeMachine}}
|
){{/serializers}}{{/apis}}{{/apiInfo}}{{#timeMachine}}
|
||||||
..add(OffsetDateSerializer())
|
..add(const OffsetDateSerializer())
|
||||||
..add(OffsetDateTimeSerializer()){{/timeMachine}}
|
..add(const OffsetDateTimeSerializer()){{/timeMachine}}
|
||||||
..add(Iso8601DateTimeSerializer()))
|
..add(Iso8601DateTimeSerializer()))
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
|
@ -18,31 +18,37 @@ import 'package:openapi/api/store_api.dart';
|
|||||||
import 'package:openapi/api/user_api.dart';
|
import 'package:openapi/api/user_api.dart';
|
||||||
|
|
||||||
|
|
||||||
final _defaultInterceptors = [OAuthInterceptor(), BasicAuthInterceptor(), ApiKeyAuthInterceptor()];
|
final _defaultInterceptors = [
|
||||||
|
OAuthInterceptor(),
|
||||||
|
BasicAuthInterceptor(),
|
||||||
|
ApiKeyAuthInterceptor(),
|
||||||
|
];
|
||||||
|
|
||||||
class Openapi {
|
class Openapi {
|
||||||
|
|
||||||
Dio dio;
|
static const String basePath = r'http://petstore.swagger.io/v2';
|
||||||
Serializers serializers;
|
|
||||||
String basePath = 'http://petstore.swagger.io/v2';
|
|
||||||
|
|
||||||
Openapi({this.dio, Serializers serializers, String basePathOverride, List<Interceptor> interceptors}) {
|
final Dio dio;
|
||||||
if (dio == null) {
|
|
||||||
BaseOptions options = new BaseOptions(
|
final Serializers serializers;
|
||||||
|
|
||||||
|
Openapi({
|
||||||
|
Dio dio,
|
||||||
|
Serializers serializers,
|
||||||
|
String basePathOverride,
|
||||||
|
List<Interceptor> interceptors,
|
||||||
|
}) : this.serializers = serializers ?? standardSerializers,
|
||||||
|
this.dio = dio ??
|
||||||
|
Dio(BaseOptions(
|
||||||
baseUrl: basePathOverride ?? basePath,
|
baseUrl: basePathOverride ?? basePath,
|
||||||
connectTimeout: 5000,
|
connectTimeout: 5000,
|
||||||
receiveTimeout: 3000,
|
receiveTimeout: 3000,
|
||||||
);
|
)) {
|
||||||
this.dio = new Dio(options);
|
if (interceptors == null) {
|
||||||
}
|
this.dio.interceptors.addAll(_defaultInterceptors);
|
||||||
|
} else {
|
||||||
if (interceptors == null) {
|
this.dio.interceptors.addAll(interceptors);
|
||||||
this.dio.interceptors.addAll(_defaultInterceptors);
|
}
|
||||||
} else {
|
|
||||||
this.dio.interceptors.addAll(interceptors);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.serializers = serializers ?? standardSerializers;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void setOAuthToken(String name, String token) {
|
void setOAuthToken(String name, String token) {
|
||||||
|
@ -17,10 +17,12 @@ import 'package:built_collection/built_collection.dart';
|
|||||||
import 'package:openapi/api_util.dart';
|
import 'package:openapi/api_util.dart';
|
||||||
|
|
||||||
class PetApi {
|
class PetApi {
|
||||||
final Dio _dio;
|
|
||||||
Serializers _serializers;
|
|
||||||
|
|
||||||
PetApi(this._dio, this._serializers);
|
final Dio _dio;
|
||||||
|
|
||||||
|
final Serializers _serializers;
|
||||||
|
|
||||||
|
const PetApi(this._dio, this._serializers);
|
||||||
|
|
||||||
/// Add a new pet to the store
|
/// Add a new pet to the store
|
||||||
///
|
///
|
||||||
|
@ -14,10 +14,12 @@ import 'package:openapi/model/order.dart';
|
|||||||
import 'package:built_collection/built_collection.dart';
|
import 'package:built_collection/built_collection.dart';
|
||||||
|
|
||||||
class StoreApi {
|
class StoreApi {
|
||||||
final Dio _dio;
|
|
||||||
Serializers _serializers;
|
|
||||||
|
|
||||||
StoreApi(this._dio, this._serializers);
|
final Dio _dio;
|
||||||
|
|
||||||
|
final Serializers _serializers;
|
||||||
|
|
||||||
|
const StoreApi(this._dio, this._serializers);
|
||||||
|
|
||||||
/// Delete purchase order by ID
|
/// Delete purchase order by ID
|
||||||
///
|
///
|
||||||
|
@ -14,10 +14,12 @@ import 'package:openapi/model/user.dart';
|
|||||||
import 'package:built_collection/built_collection.dart';
|
import 'package:built_collection/built_collection.dart';
|
||||||
|
|
||||||
class UserApi {
|
class UserApi {
|
||||||
final Dio _dio;
|
|
||||||
Serializers _serializers;
|
|
||||||
|
|
||||||
UserApi(this._dio, this._serializers);
|
final Dio _dio;
|
||||||
|
|
||||||
|
final Serializers _serializers;
|
||||||
|
|
||||||
|
const UserApi(this._dio, this._serializers);
|
||||||
|
|
||||||
/// Create user
|
/// Create user
|
||||||
///
|
///
|
||||||
|
@ -18,31 +18,37 @@ import 'package:openapi/api/store_api.dart';
|
|||||||
import 'package:openapi/api/user_api.dart';
|
import 'package:openapi/api/user_api.dart';
|
||||||
|
|
||||||
|
|
||||||
final _defaultInterceptors = [OAuthInterceptor(), BasicAuthInterceptor(), ApiKeyAuthInterceptor()];
|
final _defaultInterceptors = [
|
||||||
|
OAuthInterceptor(),
|
||||||
|
BasicAuthInterceptor(),
|
||||||
|
ApiKeyAuthInterceptor(),
|
||||||
|
];
|
||||||
|
|
||||||
class Openapi {
|
class Openapi {
|
||||||
|
|
||||||
Dio dio;
|
static const String basePath = r'http://petstore.swagger.io/v2';
|
||||||
Serializers serializers;
|
|
||||||
String basePath = 'http://petstore.swagger.io/v2';
|
|
||||||
|
|
||||||
Openapi({this.dio, Serializers serializers, String basePathOverride, List<Interceptor> interceptors}) {
|
final Dio dio;
|
||||||
if (dio == null) {
|
|
||||||
BaseOptions options = new BaseOptions(
|
final Serializers serializers;
|
||||||
|
|
||||||
|
Openapi({
|
||||||
|
Dio dio,
|
||||||
|
Serializers serializers,
|
||||||
|
String basePathOverride,
|
||||||
|
List<Interceptor> interceptors,
|
||||||
|
}) : this.serializers = serializers ?? standardSerializers,
|
||||||
|
this.dio = dio ??
|
||||||
|
Dio(BaseOptions(
|
||||||
baseUrl: basePathOverride ?? basePath,
|
baseUrl: basePathOverride ?? basePath,
|
||||||
connectTimeout: 5000,
|
connectTimeout: 5000,
|
||||||
receiveTimeout: 3000,
|
receiveTimeout: 3000,
|
||||||
);
|
)) {
|
||||||
this.dio = new Dio(options);
|
if (interceptors == null) {
|
||||||
}
|
this.dio.interceptors.addAll(_defaultInterceptors);
|
||||||
|
} else {
|
||||||
if (interceptors == null) {
|
this.dio.interceptors.addAll(interceptors);
|
||||||
this.dio.interceptors.addAll(_defaultInterceptors);
|
}
|
||||||
} else {
|
|
||||||
this.dio.interceptors.addAll(interceptors);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.serializers = serializers ?? standardSerializers;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void setOAuthToken(String name, String token) {
|
void setOAuthToken(String name, String token) {
|
||||||
|
@ -17,10 +17,12 @@ import 'package:built_collection/built_collection.dart';
|
|||||||
import 'package:openapi/api_util.dart';
|
import 'package:openapi/api_util.dart';
|
||||||
|
|
||||||
class PetApi {
|
class PetApi {
|
||||||
final Dio _dio;
|
|
||||||
Serializers _serializers;
|
|
||||||
|
|
||||||
PetApi(this._dio, this._serializers);
|
final Dio _dio;
|
||||||
|
|
||||||
|
final Serializers _serializers;
|
||||||
|
|
||||||
|
const PetApi(this._dio, this._serializers);
|
||||||
|
|
||||||
/// Add a new pet to the store
|
/// Add a new pet to the store
|
||||||
///
|
///
|
||||||
|
@ -14,10 +14,12 @@ import 'package:openapi/model/order.dart';
|
|||||||
import 'package:built_collection/built_collection.dart';
|
import 'package:built_collection/built_collection.dart';
|
||||||
|
|
||||||
class StoreApi {
|
class StoreApi {
|
||||||
final Dio _dio;
|
|
||||||
Serializers _serializers;
|
|
||||||
|
|
||||||
StoreApi(this._dio, this._serializers);
|
final Dio _dio;
|
||||||
|
|
||||||
|
final Serializers _serializers;
|
||||||
|
|
||||||
|
const StoreApi(this._dio, this._serializers);
|
||||||
|
|
||||||
/// Delete purchase order by ID
|
/// Delete purchase order by ID
|
||||||
///
|
///
|
||||||
|
@ -14,10 +14,12 @@ import 'package:openapi/model/user.dart';
|
|||||||
import 'package:built_collection/built_collection.dart';
|
import 'package:built_collection/built_collection.dart';
|
||||||
|
|
||||||
class UserApi {
|
class UserApi {
|
||||||
final Dio _dio;
|
|
||||||
Serializers _serializers;
|
|
||||||
|
|
||||||
UserApi(this._dio, this._serializers);
|
final Dio _dio;
|
||||||
|
|
||||||
|
final Serializers _serializers;
|
||||||
|
|
||||||
|
const UserApi(this._dio, this._serializers);
|
||||||
|
|
||||||
/// Create user
|
/// Create user
|
||||||
///
|
///
|
||||||
|
@ -22,31 +22,37 @@ import 'package:openapi/api/store_api.dart';
|
|||||||
import 'package:openapi/api/user_api.dart';
|
import 'package:openapi/api/user_api.dart';
|
||||||
|
|
||||||
|
|
||||||
final _defaultInterceptors = [OAuthInterceptor(), BasicAuthInterceptor(), ApiKeyAuthInterceptor()];
|
final _defaultInterceptors = [
|
||||||
|
OAuthInterceptor(),
|
||||||
|
BasicAuthInterceptor(),
|
||||||
|
ApiKeyAuthInterceptor(),
|
||||||
|
];
|
||||||
|
|
||||||
class Openapi {
|
class Openapi {
|
||||||
|
|
||||||
Dio dio;
|
static const String basePath = r'http://petstore.swagger.io:80/v2';
|
||||||
Serializers serializers;
|
|
||||||
String basePath = 'http://petstore.swagger.io:80/v2';
|
|
||||||
|
|
||||||
Openapi({this.dio, Serializers serializers, String basePathOverride, List<Interceptor> interceptors}) {
|
final Dio dio;
|
||||||
if (dio == null) {
|
|
||||||
BaseOptions options = new BaseOptions(
|
final Serializers serializers;
|
||||||
|
|
||||||
|
Openapi({
|
||||||
|
Dio dio,
|
||||||
|
Serializers serializers,
|
||||||
|
String basePathOverride,
|
||||||
|
List<Interceptor> interceptors,
|
||||||
|
}) : this.serializers = serializers ?? standardSerializers,
|
||||||
|
this.dio = dio ??
|
||||||
|
Dio(BaseOptions(
|
||||||
baseUrl: basePathOverride ?? basePath,
|
baseUrl: basePathOverride ?? basePath,
|
||||||
connectTimeout: 5000,
|
connectTimeout: 5000,
|
||||||
receiveTimeout: 3000,
|
receiveTimeout: 3000,
|
||||||
);
|
)) {
|
||||||
this.dio = new Dio(options);
|
if (interceptors == null) {
|
||||||
}
|
this.dio.interceptors.addAll(_defaultInterceptors);
|
||||||
|
} else {
|
||||||
if (interceptors == null) {
|
this.dio.interceptors.addAll(interceptors);
|
||||||
this.dio.interceptors.addAll(_defaultInterceptors);
|
}
|
||||||
} else {
|
|
||||||
this.dio.interceptors.addAll(interceptors);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.serializers = serializers ?? standardSerializers;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void setOAuthToken(String name, String token) {
|
void setOAuthToken(String name, String token) {
|
||||||
|
@ -13,10 +13,12 @@ import 'package:built_value/serializer.dart';
|
|||||||
import 'package:openapi/model/model_client.dart';
|
import 'package:openapi/model/model_client.dart';
|
||||||
|
|
||||||
class AnotherFakeApi {
|
class AnotherFakeApi {
|
||||||
final Dio _dio;
|
|
||||||
Serializers _serializers;
|
|
||||||
|
|
||||||
AnotherFakeApi(this._dio, this._serializers);
|
final Dio _dio;
|
||||||
|
|
||||||
|
final Serializers _serializers;
|
||||||
|
|
||||||
|
const AnotherFakeApi(this._dio, this._serializers);
|
||||||
|
|
||||||
/// To test special tags
|
/// To test special tags
|
||||||
///
|
///
|
||||||
|
@ -13,10 +13,12 @@ import 'package:built_value/serializer.dart';
|
|||||||
import 'package:openapi/model/inline_response_default.dart';
|
import 'package:openapi/model/inline_response_default.dart';
|
||||||
|
|
||||||
class DefaultApi {
|
class DefaultApi {
|
||||||
final Dio _dio;
|
|
||||||
Serializers _serializers;
|
|
||||||
|
|
||||||
DefaultApi(this._dio, this._serializers);
|
final Dio _dio;
|
||||||
|
|
||||||
|
final Serializers _serializers;
|
||||||
|
|
||||||
|
const DefaultApi(this._dio, this._serializers);
|
||||||
|
|
||||||
///
|
///
|
||||||
///
|
///
|
||||||
|
@ -21,10 +21,12 @@ import 'package:built_collection/built_collection.dart';
|
|||||||
import 'package:openapi/api_util.dart';
|
import 'package:openapi/api_util.dart';
|
||||||
|
|
||||||
class FakeApi {
|
class FakeApi {
|
||||||
final Dio _dio;
|
|
||||||
Serializers _serializers;
|
|
||||||
|
|
||||||
FakeApi(this._dio, this._serializers);
|
final Dio _dio;
|
||||||
|
|
||||||
|
final Serializers _serializers;
|
||||||
|
|
||||||
|
const FakeApi(this._dio, this._serializers);
|
||||||
|
|
||||||
/// Health check endpoint
|
/// Health check endpoint
|
||||||
///
|
///
|
||||||
|
@ -13,10 +13,12 @@ import 'package:built_value/serializer.dart';
|
|||||||
import 'package:openapi/model/model_client.dart';
|
import 'package:openapi/model/model_client.dart';
|
||||||
|
|
||||||
class FakeClassnameTags123Api {
|
class FakeClassnameTags123Api {
|
||||||
final Dio _dio;
|
|
||||||
Serializers _serializers;
|
|
||||||
|
|
||||||
FakeClassnameTags123Api(this._dio, this._serializers);
|
final Dio _dio;
|
||||||
|
|
||||||
|
final Serializers _serializers;
|
||||||
|
|
||||||
|
const FakeClassnameTags123Api(this._dio, this._serializers);
|
||||||
|
|
||||||
/// To test class name in snake case
|
/// To test class name in snake case
|
||||||
///
|
///
|
||||||
|
@ -17,10 +17,12 @@ import 'package:built_collection/built_collection.dart';
|
|||||||
import 'package:openapi/api_util.dart';
|
import 'package:openapi/api_util.dart';
|
||||||
|
|
||||||
class PetApi {
|
class PetApi {
|
||||||
final Dio _dio;
|
|
||||||
Serializers _serializers;
|
|
||||||
|
|
||||||
PetApi(this._dio, this._serializers);
|
final Dio _dio;
|
||||||
|
|
||||||
|
final Serializers _serializers;
|
||||||
|
|
||||||
|
const PetApi(this._dio, this._serializers);
|
||||||
|
|
||||||
/// Add a new pet to the store
|
/// Add a new pet to the store
|
||||||
///
|
///
|
||||||
|
@ -14,10 +14,12 @@ import 'package:openapi/model/order.dart';
|
|||||||
import 'package:built_collection/built_collection.dart';
|
import 'package:built_collection/built_collection.dart';
|
||||||
|
|
||||||
class StoreApi {
|
class StoreApi {
|
||||||
final Dio _dio;
|
|
||||||
Serializers _serializers;
|
|
||||||
|
|
||||||
StoreApi(this._dio, this._serializers);
|
final Dio _dio;
|
||||||
|
|
||||||
|
final Serializers _serializers;
|
||||||
|
|
||||||
|
const StoreApi(this._dio, this._serializers);
|
||||||
|
|
||||||
/// Delete purchase order by ID
|
/// Delete purchase order by ID
|
||||||
///
|
///
|
||||||
|
@ -14,10 +14,12 @@ import 'package:openapi/model/user.dart';
|
|||||||
import 'package:built_collection/built_collection.dart';
|
import 'package:built_collection/built_collection.dart';
|
||||||
|
|
||||||
class UserApi {
|
class UserApi {
|
||||||
final Dio _dio;
|
|
||||||
Serializers _serializers;
|
|
||||||
|
|
||||||
UserApi(this._dio, this._serializers);
|
final Dio _dio;
|
||||||
|
|
||||||
|
final Serializers _serializers;
|
||||||
|
|
||||||
|
const UserApi(this._dio, this._serializers);
|
||||||
|
|
||||||
/// Create user
|
/// Create user
|
||||||
///
|
///
|
||||||
|
Loading…
x
Reference in New Issue
Block a user