Commit 8952815b authored by jfiala's avatar jfiala Committed by wing328
Browse files

[Spring] Add beanvalidation annotations (#4600)

* update generated sample for spring boot #4091

* add beanvalidation annotations to spring #4091

* add tests for spring #4091

* cleanup spring-cloud (client lib) #4091

* update client sample spring-cloud #4091

* replace tabs

* add beanvalidation annotations to spring #4091

* add tests for spring #4091

* cleanup spring-cloud (client lib) #4091

* update client sample spring-cloud #4091

* replace tabs

* update spring-cloud sample
parent 05eea243
master 4brunu-feature/update-ci 7.0.x MathiasDierickx-add-missing-configureawaits-for-csharp-netcore SanjayMarreddi-fix_cpp_rest_sdk aharonha-issue-13393 c_trigger_alert cherrypick-13815 circleci-enhance cleanup-output-folder cpp-oatpp-server-generator csharp-doc-improve csharp-nuspec2 dart-oneof dependabot/npm_and_yarn/samples/client/petstore/typescript-angular-v12-provided-in-root/webpack-and-angular-devkit/build-angular-5.76.1 devhl-labs-14552 devhl-labs-14553 document-enable-post-processing docusaurus duke_script elm_ci enable-haskell fix-6.4.0-release fix-bitrise fix-enum-str fix-release2 fix-to-typescript-jquery fix-website-update fix_allof_single fix_default_response_test fix_inner_item_alias fix_issue_1766 github/fork/0xNF/fix_dart_uint8list github/fork/77web/patch-1 github/fork/AIexG/improve_model_gen github/fork/AndreasSi/master github/fork/Bdaya-Dev/dart-dio/optional-http-library github/fork/BitCaesar/fix_issue_9523 github/fork/BjornJaspers/support-model-property-naming-in-kotlin github/fork/Blackclaws/aspnetcore-endpoints github/fork/Blackclaws/csharp-inheritance-fix github/fork/Blackclaws/inheritance-error-message github/fork/C0deH0use/fix/kotlin-multiplatform-fix-serialization github/fork/CiscoM31/create-discriminator-optimization github/fork/CiscoM31/golang-null-type github/fork/DeaneOC/enumUnknownDefaultCase-invalid-response-spring github/fork/DeaneOC/enumUnknownDefaultCase_not_deserialized github/fork/DreierF/expose_generate_metadata github/fork/FallenRiteMonk/patch-1 github/fork/FieteO/conditional-enum-jsoncreator-import github/fork/FieteO/conditional-jsonnullable-import github/fork/FieteO/multipart-requestpart-test github/fork/Fjolnir-Dvorak/bug/pythonModelRenamed github/fork/Fjolnir-Dvorak/feature/java_additionalFields github/fork/Fjolnir-Dvorak/feature/kotlin/client/handleMultipleResponses github/fork/Gama11/java-native-remove-trailing-slashes github/fork/GavinWu1991/fix-7118 github/fork/GregDThomas/rest-template-explode-correctly github/fork/GuillaumeSmaha/fix_14577_3.1_responses_array github/fork/Herrick19/Herrick19-patch-3 github/fork/Ikelio/master github/fork/JasonTashtego/fix-issue-10836 github/fork/JoeCqupt/py-support-importmappings github/fork/JonasSchubert/fix/csharp-netcore-enum-list-serialization github/fork/Joshix-1/dollar-replacement github/fork/Joshix-1/python-date-default github/fork/Joshix-1/single-quote-escaping github/fork/KatherinePapcun/retrofit-jackson github/fork/Kraust/go-server-placing-models-in-separate-dir github/fork/KrzysztofLabus-RDX/feature/csharp-polymorphism github/fork/LiamMartens/5601-missing-import-additionalproperties-ref github/fork/LostMekka/bugfix/#7083-ts-fetch-wrong-json-stringify github/fork/LostMekka/bugfix/PR-template-wrong-for-windows-users github/fork/LubomirS/feat/12726 github/fork/LukasWoodtli/cpp-boost-beast-client github/fork/MarkusBansky/add_feature_2972 github/fork/MartinDelille/fix-files github/fork/MartinDelille/qt-ctest github/fork/MartinDelille/test-qt-action github/fork/MassonGuillaume/fix/typesctip/angular/basePath-type github/fork/Mintas/bugfix/user-defined-templates-gradle github/fork/Mintas/feature/srping-custom-constrains-validation github/fork/N4zroth/master github/fork/NickUfer/go-fix-missing-utils-add-required-supportfiles-feature github/fork/Nikolai-SE/master github/fork/Nuglif/kotlin_kotlinxserialization_polymorphism github/fork/OJFord/fix-overwritten-impl github/fork/OptoCloud/master github/fork/Orachigami/feature/ASF-13569/straight-ahead-solution github/fork/ParadiseFallen/master github/fork/PeterTriebe/feature/add-custom-serializer-and-proxy github/fork/PirvuCatalin/bug/java-default-apireponse-code github/fork/R1tschY/jaxrsOneOf2 github/fork/Ramanth/feat/java/retry-configuration github/fork/Reinhard-PTV/array-of-doubles-param-csharp github/fork/Reinhard-PTV/master github/fork/RubberChickenParadise/11001 github/fork/SanjayMarreddi/fix_cpp_rest_sdk github/fork/SanjayMarreddi/json_support github/fork/SergiiKusii/kusii/property_with_composed_schema github/fork/Setfive/typescript-override-modifier github/fork/Shogoki/issue#4586 github/fork/SimonErm/fix/discriminator-serialization github/fork/Stevelriemenbill/master github/fork/StingrayDigital/fix-typescript-fetch-produce-return-type github/fork/TechPrivacyLab/master github/fork/ToppScorer/bugfix/13425 github/fork/ToppScorer/bugfix/8822 github/fork/UnsolvedCypher/6.0.x github/fork/VladimirSvoboda/java_client_custom_repository github/fork/Yogarine/always-use-required-auth-methods github/fork/Yogarine/support-x-enum-values github/fork/Yona-Appletree/feature/8478-add-kotlin-reserved-words github/fork/Zomzog/3318 github/fork/Zomzog/6591_cli_type_error github/fork/Zomzog/6799_examples github/fork/Zomzog/6872_Oper github/fork/Zomzog/7638_noProperties github/fork/Zomzog/7794_RequestParam github/fork/Zomzog/version github/fork/Zomzog/zomzog/13350_path_query_enum github/fork/Zomzog/zomzog/13395_additionalProperties_kotlin github/fork/Zomzog/zomzog/13677_generate_supporting_tests github/fork/Zomzog/zomzog/13830_generate_models github/fork/aanno2/feature/pr-aanno2-oidc github/fork/aarseneau-idexx/fix_13961 github/fork/ackintosh/fix-missing-consumes github/fork/aeneasr/fix-rust-13257 github/fork/agilob/update-jdk github/fork/aharonha/aharonha-issue-13393 github/fork/ahsanfz/fix_issue9444 github/fork/alejogun/fix-py-generator-file-param-mapping github/fork/alexsuperdev/fix_4245 github/fork/alexsuperdev/spring_fix_5381 github/fork/alitams/master github/fork/allen-ball/master github/fork/alsma/patch-2 github/fork/ameenhaq/fix/missing-query-str-param github/fork/amineau/python/readme-typo-fix github/fork/ammmze/golang-anyof-complex github/fork/anatoliy-balakirev/bugfix/14432-valid github/fork/andreaTP/no-dup-on-tags github/fork/arturobernalg/feature/null_blank github/fork/ashatch/14404-java-arrays-processing-fix github/fork/ashmeet-kandhari/InputStreamResource_Fix github/fork/auke-/micronaut-abstract-sealed github/fork/auke-/subtype-visitor github/fork/avandecreme/r_numbers_fix github/fork/b-com/feat/JavaJaxrsResteasy_Make_it_possible_to_disable_generation_of_swagger_annotations github/fork/b-com/fix/JavaJaxrsResteasy_add_@Valid_to_getter_methods_when_bean_validation_is_enabled github/fork/bahag-chandrana/dart-dio-freezed github/fork/balazs-zsoldos/i3388_requestbody_always_map_in_case_additionalproperties github/fork/beeman/beeman/kotlin-headers github/fork/ben-sab/go-server-placing-models-in-separate-dir github/fork/benfonty/fix-9976-escaped-quotes-in-example github/fork/benfonty/fix_issue1466_spring github/fork/berlincho/issue10598 github/fork/bernie-schelberg-mywave/issue12412 github/fork/bernie-schelberg-mywave/issue13150-2 github/fork/bernie-schelberg-mywave/remove-json-type-name-java-1 github/fork/bernie-schelberg-mywave/remove-json-type-name-jersey2 github/fork/bernie-schelberg-mywave/remove-json-type-name-jersey3 github/fork/bernie-schelberg-mywave/remove-json-type-name-okhttp-gson github/fork/bernie-schelberg-mywave/remove-json-type-name-spring github/fork/bernie-schelberg-mywave/remove-unused-import github/fork/bkabrda/fix-go-discriminator-usage github/fork/bkabrda/jersey2-deserialize-errors github/fork/brabo-hi/patch-1 github/fork/cachescrubber/feature/wrapped_tyoes_and_default_values github/fork/cachescrubber/regen_model_tests github/fork/cachescrubber/spring_remove_springfox github/fork/cachescrubber/spring_vendor_extension_x_oneof_interface github/fork/cevheri/master github/fork/chrispaynter/add-implicit-headers-to-ts-axios github/fork/code1x1/bugfix/BUG-javascript-ApiClient-Fix-request-responseType-10833 github/fork/code1x1/feature/#10826 github/fork/cognifloyd/python-uplink github/fork/cognifloyd/spring-group-apis github/fork/cromefire/multiplatform-client github/fork/ctron/feature/fix_enum_display_1 github/fork/cyangle/generate_form_as_model github/fork/daberni/jsonnullable github/fork/daniel-sc/generate-schemas-from-addtional-specs github/fork/danielhodder/bugfix/8132_multiple_constructors_in_builder github/fork/dbr65/master github/fork/delenius/fix/java-reserved-words github/fork/developer79433/spring-interface-nodefault github/fork/devhl-labs/inherit-api2 github/fork/dimber-cais/feature/gradle-classpath-templates github/fork/dmivankov/fix_custom_java_types github/fork/dweinstein/patch-3 github/fork/eNeRGy164/response-examples github/fork/eafer/c_api_fixes github/fork/eafer/c_api_fixes_1_v2 github/fork/eak24/javaparser_ast_client github/fork/eak24/recursive_discriminators github/fork/enriquebarba97/java-idl-dependencies github/fork/erichaagdev/master github/fork/erithmetic/configurable-oneof github/fork/erithmetic/javascript-apollo-content-type github/fork/evanjmg/patch-1 github/fork/exaV/master github/fork/fantavlik/enum-anyof github/fork/fantavlik/inline-resolver github/fork/fenuks/additional_model_type_annotations_fix github/fork/fokot/oneOf-support-for-lagom github/fork/ftsanjuan/fix/typescript-fetch-serialize-array-objects-formparams github/fork/fujigon/feature/fix-primitive-type-resolve github/fork/galeries-lafayette/feature/kotlin-spring_responseentity github/fork/galeries-lafayette/fix/kotlin-inheritance github/fork/gbmarc1/validation_type_object_bug github/fork/githubERIK/php-enums-prefix github/fork/gitterrost4/java-play-framework-model-builder github/fork/godpeny/fix_typo github/fork/gokul-krishnamoorthy/fix_issue10438 github/fork/gokul-krishnamoorthy/fix_issue9523 github/fork/gokul-krishnamoorthy/fix_issue9654 github/fork/goldflam-gmbh/fix_issue_8315 github/fork/grmcdorman/dotnetcore-content-type-partial-controller github/fork/gturri/fix_14971 github/fork/harish2704/feat-html2docs-dart-sample github/fork/harlequin-tech/MOX-6029-prep github/fork/hello-brsd/support-node-fetch github/fork/hidden-primary-net/fix/14921 github/fork/hinrik/java_optional_request_body github/fork/hinrik/php_fix_referenced_enums github/fork/hmt/patch-1 github/fork/iWantUss/bagfix-14119 github/fork/interface48/fix_issue531 github/fork/jaecktec/fix-7880 github/fork/jameswynn/issue1466 github/fork/jason-cohen/bugfix/spring_generator_array_schema github/fork/jayandran-Sampath/feat13578_1 github/fork/jbreton/fix-12514 github/fork/jdimeo/master github/fork/jdwoody/asciidoc-7765-7770 github/fork/jeffmikels/master github/fork/jenspopp/patch-1 github/fork/jianjungki/go-style github/fork/jianjungki/openapi3.1 github/fork/jirikuncar/java-jersey2/one-of github/fork/jirikuncar/typescript-array-examples github/fork/jmini/issue1606 github/fork/jmrieger/issue-6223-fix-duplicate-accesstoken-methods github/fork/johnlinp/fix-discriminator-enum-property-name github/fork/joschi/java-generator-java-lang-classes github/fork/jpswade/patch-1 github/fork/jsantalo/master github/fork/jsoref/spelling github/fork/jtmuller5/master github/fork/jtreminio/config-options github/fork/jtreminio/namespace-param-fixes github/fork/justinjxzhang/az-func-snake-case-base-path github/fork/jvandort/support-immutable-collections-java github/fork/jverhoelen/typescript-fetch-expose-apimethod-path github/fork/jyutzler/10350-dollar github/fork/jzrebiec/bugfix/proper-xml-support github/fork/kananindzya/feature-handle-chunked-response-v530 github/fork/karzang/issue_12556 github/fork/keenanpepper/remove-discriminator-duplicate github/fork/kellrott/issue/11173 github/fork/kentis/feature/add_deserializer_to_kotlin_model_classes github/fork/kevchentw/fix-10848 github/fork/kingdun3284/typescript-axios-fix github/fork/kingofdisasterr/fix_1421 github/fork/klalit/master github/fork/knazarenko-ptc/go-allof-fix-fin github/fork/knazarenko-ptc/go-fix-field-naming-conflicts github/fork/kpldvnpne/patch-2 github/fork/krjakbrjak/VNI-fastapi github/fork/kronostechnologies/fix-nullable-field github/fork/kthoms/issues/11696 github/fork/kuhnroyal/dart-dio/identifiers github/fork/kvn-stgl/feat/moshi-serialization-polymorphic github/fork/kvn-stgl/feat/moshi-serialization-polymorphic-sealed-classes github/fork/l3ender/oneof-java-enums github/fork/lehphyro/use-class-level-validation github/fork/leo-sale/fix-unnecessary-models github/fork/listopad7/14837-header-based-operation-versioning github/fork/liulu1998/master github/fork/loicsiret/kotlin-add-gson-polymorphic github/fork/lwj5/embed github/fork/ma-myair/pallzoltan/fix-swift5gen github/fork/mabhijith95a10/bugfix/9332 github/fork/maciejcymanski132/template-update github/fork/madupuis/fix/Enum_if_type_not_string github/fork/marbes-consulting/fix-typescript-axios-discriminator github/fork/marbes-consulting/master github/fork/marcusirgens/func-opts-go github/fork/mariotoffia/bug/invalid-var-fields github/fork/martin-bucinskas/feature/one-of-spring github/fork/martinvisser/master github/fork/matheustf/patch-1 github/fork/mcwhitak/12303-gradle-file-properties github/fork/mfmarche/fix_9684 github/fork/mickaelmagniez/fix-rust-reqwest-explode github/fork/mickroll/patch-2 github/fork/micromata/fix/#5565 github/fork/mitchnull/issue-4961 github/fork/mkusaka/auto-update-if-master-branch github/fork/morosawamikihito/kotlin-spring-interface-implementation github/fork/mpapale/go-server-optional-params github/fork/mppperez/master github/fork/msosnicki/add-flake github/fork/mvera/jacksonAnnotations github/fork/mzellho/master github/fork/nabdali/patch-1 github/fork/nappa85/8833-rust_multi_apikey github/fork/neclimdul/remove-form-encode-model-filters github/fork/nhomble/gh-1975-VI github/fork/nhomble/gh-6833 github/fork/nibytes/axios-config-typings github/fork/nilox94/ts_server github/fork/nmerigaud/fix_any_of_ts_imports github/fork/nnworkspace/patch-1 github/fork/nshaaban-cPacket/basic-rust-anyof-support github/fork/oaklandcorp/java-oai-annotation-cliOption github/fork/olexiyk/6.0.x-php-http-client-meta-packages github/fork/orange-buffalo/interceptors-metadata github/fork/orrin-naylor-instacart/orrin/remove-barrel-import-dependncy github/fork/ovirta/typescript-fetch-6008-apis-mustache github/fork/oxidecomputer/rust-client-binary-body github/fork/pablobastidasv/feature/class_per_api github/fork/paladinzh/feature/june/5.0.x_0416_1 github/fork/panargirakis/generate-api-getters-in-apiclient github/fork/parvit/broken-go-imports github/fork/patou/patch-1 github/fork/patst/master github/fork/paulbalomiri/elixir-bugfix github/fork/pavlot/master github/fork/pcafstockf/5.4.x github/fork/pixelshaded/fixParentVarsAndIsInherited github/fork/pkadej/feature/oneof_via_additional_properties github/fork/plaurynovich-hubspot/feature/process-multiple-requests github/fork/prajon84/csharp-netcore/add-paramless-constr-model github/fork/prajon84/csharp-netcore/fix-modelOneOf github/fork/pravussum/add-java-usetags-support github/fork/qavvvzdhwm/rust-enum-type github/fork/ragulmurugesan/8422 github/fork/rainmanhhh/patch-1 github/fork/rainmanhhh/patch-2 github/fork/randeepbydesign/java-typemapping-defaults github/fork/randomswdev/goserver-errors github/fork/ranhalprin/master github/fork/ratoaq2/patch-1 github/fork/redixin/exception-request-info github/fork/rfecher/bugfix/openapi-5381 github/fork/rgranadosd/fix_issue_9981 github/fork/rgroothuijsen/6192-customTypeMapImport github/fork/rienafairefr/generated-strucure-template github/fork/rienafairefr/languages-options github/fork/rienafairefr/multipart-content-types github/fork/rienafairefr/templating-input-base-object github/fork/roumn/expose-test-source-folder-config-java github/fork/rsinukov/rsinukov/ktor-server-update-2.1.1 github/fork/s-jepsen/enable-useOneOfInterfaces-for-some-java-clients github/fork/salimzdn/fix_csharp-netcore_snake_case_constructors_generation github/fork/sarumont/fix_ts_imports github/fork/saschpe/gradle-modernize github/fork/sdoeringNew/issue-8961 github/fork/seanich/seanich/string-transform-perf-improvements github/fork/segevfiner/typescript-axios-v1 github/fork/service84-io/fix_issue_12576 github/fork/sharkwouter/go-gin-library github/fork/shmakovalexey/check-unique-names-in-enums github/fork/shybovycha/enahncement/refactor-generateApis github/fork/shybovycha/enhancement/get-apis-property-from-vendor-extensions github/fork/sigand/KOTLIN-optionals-with-default github/fork/sigand/jackson-deserialization-enums github/fork/simPod/enum github/fork/sinaa/master github/fork/smargoli2/steichman-patch-1 github/fork/snebjorn/bugfix/13200-duplicate-export github/fork/spr3nk3ls/headers_as_parameters github/fork/stephanpelikan/bugfix/issue_12490 github/fork/strager/go-toupper github/fork/stropho/ts-axios-reuse-fp-instances github/fork/sturcotte06/sturcotte06/codegen-v2 github/fork/sudokzt/chore/serialization-library github/fork/sverrevalskraa/feature/typescript_fetch_request_body_set github/fork/szekelyisz/dart_path_s11n_fix github/fork/tekerson/override-example-creation github/fork/thoroughsoft/enhance-pojo-generation-with-optional github/fork/tiffmaelite/fix/align_use-HttpBearerAuth_import-HttpBearerAuth github/fork/timo-a/6258_add_gradle_build_to_spring github/fork/tkalmar/master github/fork/tloubrieu-jpl/master github/fork/tmeneau/fix-sanitize-kotlin-model-name github/fork/tmkha21/fix-typescript-axios-reserved-words github/fork/tobi-laa/issue1693_JavaSpring github/fork/tobiashochguertel/master github/fork/tomi77/go-linter-fix github/fork/tomplus/feat/python-nextgen-object github/fork/tributech-solutions/fix-typecript-special-chars github/fork/trreeves/feature/plantuml-property-fix github/fork/tusharchutani/urlencoding-nested-json-typescript-fetch github/fork/twonky4/master github/fork/tysonkane/python-github-action github/fork/tzeH/single-inheritance-alias-13784 github/fork/umbopepato/fix-tsfetch-runtime-import github/fork/uyermolkin-hubspot/feature/process-multiple-requests github/fork/valery1707/java-spring-validate-headers github/fork/valmoz/okhttp-oltu-scribejava-replacement-2 github/fork/vlsergey/master github/fork/vpishuk/typescript-axios-anyof github/fork/warrenisarobot/dart-dio-update github/fork/wbt-solutions/oneof-dart-dynamic github/fork/willgit-sl/add-json-tag-to-oneOf github/fork/wtrocki/fix-enum github/fork/x7c1/issue-3189-accept-binary-string github/fork/ybelenko/11038_php_lumen github/fork/ybelenko/php_slim4_post_script github/fork/ybelenko/phpslim4_token_auth github/fork/yjh0502/rust-enum-repr github/fork/ymoran00/master github/fork/yonatankarp/fix_retrofit_generator_with_jackson github/fork/yugabyte/feature/mehul-joshi/generator-typescript-react-query github/fork/zhemant/mpandencoding github/fork/zoltanwork/BUG-13718-Kotlin-wrong_handling_of_empty_response github/fork/zooxco/daniel/external_supporting_files github/fork/zshihang/master go-workflow inline-schema-improve3 java_fix_enum jaxrs-jersey3 nested-oneof-python-nextgen nodejs-fastify-server npe-add-import oauth-refresh-token-r okhttp-gson-next-gen-better-error php-nextgen python-null-example refactor_modelutils remove-dotnet2 revert-3186-referenced-enum-type-fix revert-online-host-setting security-tests swift-actions swift5-codegen swift_nullable_support swift_vapor_generator t0mk-fix_validation_of_list_of_enums2 test-python test-run-docker travis_test ts-koa2-server ts-refactor-review1 ts_server typescript-documentation typescript-refactor typescript-refactor-master typescript-refactor-master-oaiv3 typescript-refactor-readme-npm ue4-docker undo_14684 update-swagger-parser-2.0.14 v6.4.0 v6.3.0 v6.2.1 v6.2.0 v6.1.0 v6.0.1 v6.0.0 v6.0.0-beta v5.4.0 v5.3.1 v5.3.0 v5.2.1 v5.2.0 v5.1.1 v5.1.0 v5.0.1 v5.0.0 v5.0.0-beta3 v5.0.0-beta2 v5.0.0-beta v4.3.1 v4.3.0 v4.2.3 v4.2.2 v4.2.1 v4.2.0 v4.1.3 v4.1.2 v4.1.1 v4.1.0 v4.0.3 v4.0.2 v4.0.1 v4.0.0 v4.0.0-beta3 v4.0.0-beta2 v4.0.0-beta v3.3.4 v3.3.3 v3.3.2 v3.3.1 v3.3.0 v3.2.3 v3.2.2 v3.2.1 v3.2.0 v3.1.2 v3.1.1 v3.1.0 v3.0.3 v3.0.2 v3.0.1 v3.0.0 v3.0.0-rc0 v2.3.1 v2.3.0 v2.2.3 v2.2.2
No related merge requests found
Showing with 742 additions and 628 deletions
+742 -628
......@@ -21,7 +21,9 @@ import java.util.List;
{{#async}}
import java.util.concurrent.{{^jdk8}}Callable{{/jdk8}}{{#jdk8}}CompletableFuture{{/jdk8}};
{{/async}}
{{#useBeanValidation}}
import javax.validation.constraints.*;
{{/useBeanValidation}}
{{>generatedAnnotation}}
@Api(value = "{{{baseName}}}", description = "the {{{baseName}}} API")
{{#operations}}
......
......@@ -22,7 +22,9 @@ import java.util.List;
{{#async}}
import java.util.concurrent.Callable;
{{/async}}{{/jdk8-no-delegate}}
{{#useBeanValidation}}
import javax.validation.constraints.*;
{{/useBeanValidation}}
{{>generatedAnnotation}}
@Controller
{{#operations}}
......
{{#required}}
@NotNull
{{/required}}
{{#pattern}}
@Pattern(regexp="{{pattern}}")
{{/pattern}}
{{#minLength}}
{{#maxLength}}
@Size(min={{minLength}},max={{maxLength}})
{{/maxLength}}
{{/minLength}}
{{#minLength}}
{{^maxLength}}
@Size(min={{minLength}})
{{/maxLength}}
{{/minLength}}
{{^minLength}}
{{#maxLength}}
@Size(max={{maxLength}})
{{/maxLength}}
{{/minLength}}
{{#minItems}}
{{#maxItems}}
@Size(min={{minItems}},max={{maxItems}})
{{/maxItems}}
{{/minItems}}
{{#minItems}}
{{^maxItems}}
@Size(min={{minItems}})
{{/maxItems}}
{{/minItems}}
{{^minItems}}
{{#maxItems}}
@Size(max={{maxItems}})
{{/maxItems}}
{{/minItems}}
{{! check for integer / number=decimal type}}
{{#isInteger}}
{{#minimum}}
@Min({{minimum}})
{{/minimum}}
{{#maximum}}
@Max({{maximum}})
{{/maximum}}
{{/isInteger}}
{{^isInteger}}
{{#minimum}}
@DecimalMin("{{minimum}}")
{{/minimum}}
{{#maximum}}
@DecimalMax("{{maximum}}")
{{/maximum}}
{{/isInteger}}
\ No newline at end of file
{{! PathParam is always required, no @NotNull necessary }}{{#pattern}} @Pattern(regexp="{{pattern}}"){{/pattern}}{{#minLength}}{{#maxLength}} @Size(min={{minLength}},max={{maxLength}}){{/maxLength}}{{/minLength}}{{#minLength}}{{^maxLength}} @Size(min={{minLength}}){{/maxLength}}{{/minLength}}{{^minLength}}{{#maxLength}} @Size(max={{maxLength}}){{/maxLength}}{{/minLength}}{{#minItems}}{{#maxItems}} @Size(min={{minItems}},max={{maxItems}}){{/maxItems}}{{/minItems}}{{#minItems}}{{^maxItems}} @Size(min={{minItems}}){{/maxItems}}{{/minItems}}{{^minItems}}{{#maxItems}} @Size(max={{maxItems}}){{/maxItems}}{{/minItems}}{{#minimum}} @Min({{minimum}}){{/minimum}}{{#maximum}} @Max({{maximum}}){{/maximum}}
\ No newline at end of file
{{#required}} @NotNull{{/required}}{{#pattern}} @Pattern(regexp="{{pattern}}"){{/pattern}}{{#minLength}}{{#maxLength}} @Size(min={{minLength}},max={{maxLength}}){{/maxLength}}{{/minLength}}{{#minLength}}{{^maxLength}} @Size(min={{minLength}}){{/maxLength}}{{/minLength}}{{^minLength}}{{#maxLength}} @Size(max={{maxLength}}){{/maxLength}}{{/minLength}}{{#minItems}}{{#maxItems}} @Size(min={{minItems}},max={{maxItems}}){{/maxItems}}{{/minItems}}{{#minItems}}{{^maxItems}} @Size(min={{minItems}}){{/maxItems}}{{/minItems}}{{^minItems}}{{#maxItems}} @Size(max={{maxItems}}){{/maxItems}}{{/minItems}}{{#minimum}} @Min({{minimum}}){{/minimum}}{{#maximum}} @Max({{maximum}}){{/maximum}}
\ No newline at end of file
......@@ -73,5 +73,14 @@
<artifactId>joda-time</artifactId>
</dependency>
{{/java8}}
{{#useBeanValidation}}
<!-- Bean Validation API support -->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
<scope>provided</scope>
</dependency>
{{/useBeanValidation}}
</dependencies>
</project>
\ No newline at end of file
......@@ -68,6 +68,15 @@
<artifactId>joda-time</artifactId>
</dependency>
{{/java8}}
{{#useBeanValidation}}
<!-- Bean Validation API support -->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
<scope>provided</scope>
</dependency>
{{/useBeanValidation}}
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
......
......@@ -131,6 +131,15 @@
<artifactId>servlet-api</artifactId>
<version>${servlet-api-version}</version>
</dependency>
{{#useBeanValidation}}
<!-- Bean Validation API support -->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
<scope>provided</scope>
</dependency>
{{/useBeanValidation}}
</dependencies>
<properties>
<java.version>{{#java8}}1.8{{/java8}}{{^java8}}1.7{{/java8}}</java.version>
......
......@@ -6,7 +6,9 @@ import java.util.Objects;
{{#serializableModel}}
import java.io.Serializable;
{{/serializableModel}}
{{#useBeanValidation}}
import javax.validation.constraints.*;
{{/useBeanValidation}}
{{#models}}
{{#model}}
{{#isEnum}}
......
{{#isPathParam}}@ApiParam(value = "{{{description}}}"{{#required}},required=true{{/required}}{{#allowableValues}}, allowableValues="{{{allowableValues}}}"{{/allowableValues}} {{#defaultValue}}, defaultValue="{{{defaultValue}}}"{{/defaultValue}}) @PathVariable("{{paramName}}") {{{dataType}}} {{paramName}}{{/isPathParam}}
\ No newline at end of file
{{#isPathParam}}{{#useBeanValidation}}{{>beanValidationPathParams}}{{/useBeanValidation}}@ApiParam(value = "{{{description}}}"{{#required}},required=true{{/required}}{{#allowableValues}}, allowableValues="{{{allowableValues}}}"{{/allowableValues}} {{#defaultValue}}, defaultValue="{{{defaultValue}}}"{{/defaultValue}}) @PathVariable("{{paramName}}") {{{dataType}}} {{paramName}}{{/isPathParam}}
\ No newline at end of file
......@@ -65,7 +65,7 @@ public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} {{#seriali
{{{vendorExtensions.extraAnnotation}}}
{{/vendorExtensions.extraAnnotation}}
@ApiModelProperty({{#example}}example = "{{example}}", {{/example}}{{#required}}required = {{required}}, {{/required}}{{#isReadOnly}}readOnly = {{{isReadOnly}}}, {{/isReadOnly}}value = "{{{description}}}")
public {{{datatypeWithEnum}}} {{getter}}() {
{{#useBeanValidation}}{{>beanValidation}}{{/useBeanValidation}} public {{{datatypeWithEnum}}} {{getter}}() {
return {{name}};
}
......
{{#isQueryParam}}@ApiParam(value = "{{{description}}}"{{#required}}, required = true{{/required}}{{#allowableValues}}, allowableValues = "{{#enumVars}}{{{name}}}{{^-last}}, {{/-last}}{{#-last}}{{/-last}}{{/enumVars}}"{{/allowableValues}}{{#defaultValue}}, defaultValue = "{{{defaultValue}}}"{{/defaultValue}}) @RequestParam(value = "{{paramName}}"{{#required}}, required = true{{/required}}{{^required}}, required = false{{/required}}{{#defaultValue}}, defaultValue="{{{defaultValue}}}"{{/defaultValue}}) {{{dataType}}} {{paramName}}{{/isQueryParam}}
\ No newline at end of file
{{#isQueryParam}}{{#useBeanValidation}}{{>beanValidationQueryParams}}{{/useBeanValidation}}@ApiParam(value = "{{{description}}}"{{#required}}, required = true{{/required}}{{#allowableValues}}, allowableValues = "{{#enumVars}}{{{name}}}{{^-last}}, {{/-last}}{{#-last}}{{/-last}}{{/enumVars}}"{{/allowableValues}}{{#defaultValue}}, defaultValue = "{{{defaultValue}}}"{{/defaultValue}}) @RequestParam(value = "{{paramName}}"{{#required}}, required = true{{/required}}{{^required}}, required = false{{/required}}{{#defaultValue}}, defaultValue="{{{defaultValue}}}"{{/defaultValue}}) {{{dataType}}} {{paramName}}{{/isQueryParam}}
\ No newline at end of file
package io.swagger.codegen.options;
import io.swagger.codegen.CodegenConstants;
import io.swagger.codegen.languages.SpringCodegen;
import java.util.HashMap;
import java.util.Map;
public class SpringOptionsProvider extends JavaOptionsProvider {
public static final String TITLE = "swagger";
public static final String CONFIG_PACKAGE_VALUE = "configPackage";
public static final String BASE_PACKAGE_VALUE = "basePackage";
public static final String LIBRARY_VALUE = "spring-mvc"; //FIXME hidding value from super class
public static final String INTERFACE_ONLY = "true";
public static final String DELEGATE_PATTERN = "true";
public static final String SINGLE_CONTENT_TYPES = "true";
public static final String JAVA_8 = "true";
public static final String ASYNC = "true";
public static final String RESPONSE_WRAPPER = "Callable";
public static final String USE_TAGS = "useTags";
@Override
public String getLanguage() {
return "spring";
}
@Override
public Map<String, String> createOptions() {
Map<String, String> options = new HashMap<String, String>(super.createOptions());
options.put(SpringCodegen.TITLE, TITLE);
options.put(SpringCodegen.CONFIG_PACKAGE, CONFIG_PACKAGE_VALUE);
options.put(SpringCodegen.BASE_PACKAGE, BASE_PACKAGE_VALUE);
options.put(CodegenConstants.LIBRARY, LIBRARY_VALUE);
options.put(SpringCodegen.INTERFACE_ONLY, INTERFACE_ONLY);
options.put(SpringCodegen.DELEGATE_PATTERN, DELEGATE_PATTERN);
options.put(SpringCodegen.SINGLE_CONTENT_TYPES, SINGLE_CONTENT_TYPES);
options.put(SpringCodegen.JAVA_8, JAVA_8);
options.put(SpringCodegen.ASYNC, ASYNC);
options.put(SpringCodegen.RESPONSE_WRAPPER, RESPONSE_WRAPPER);
options.put(SpringCodegen.USE_TAGS, USE_TAGS);
return options;
}
@Override
public boolean isServer() {
return true;
}
}
package io.swagger.codegen.options;
import io.swagger.codegen.CodegenConstants;
import io.swagger.codegen.languages.SpringCodegen;
import java.util.HashMap;
import java.util.Map;
public class SpringOptionsProvider extends JavaOptionsProvider {
public static final String TITLE = "swagger";
public static final String CONFIG_PACKAGE_VALUE = "configPackage";
public static final String BASE_PACKAGE_VALUE = "basePackage";
public static final String LIBRARY_VALUE = "spring-mvc"; //FIXME hidding value from super class
public static final String INTERFACE_ONLY = "true";
public static final String DELEGATE_PATTERN = "true";
public static final String SINGLE_CONTENT_TYPES = "true";
public static final String JAVA_8 = "true";
public static final String ASYNC = "true";
public static final String RESPONSE_WRAPPER = "Callable";
public static final String USE_TAGS = "useTags";
public static final String USE_BEANVALIDATION = "false";
@Override
public String getLanguage() {
return "spring";
}
@Override
public Map<String, String> createOptions() {
Map<String, String> options = new HashMap<String, String>(super.createOptions());
options.put(SpringCodegen.TITLE, TITLE);
options.put(SpringCodegen.CONFIG_PACKAGE, CONFIG_PACKAGE_VALUE);
options.put(SpringCodegen.BASE_PACKAGE, BASE_PACKAGE_VALUE);
options.put(CodegenConstants.LIBRARY, LIBRARY_VALUE);
options.put(SpringCodegen.INTERFACE_ONLY, INTERFACE_ONLY);
options.put(SpringCodegen.DELEGATE_PATTERN, DELEGATE_PATTERN);
options.put(SpringCodegen.SINGLE_CONTENT_TYPES, SINGLE_CONTENT_TYPES);
options.put(SpringCodegen.JAVA_8, JAVA_8);
options.put(SpringCodegen.ASYNC, ASYNC);
options.put(SpringCodegen.RESPONSE_WRAPPER, RESPONSE_WRAPPER);
options.put(SpringCodegen.USE_TAGS, USE_TAGS);
options.put(SpringCodegen.USE_BEANVALIDATION, USE_BEANVALIDATION);
return options;
}
@Override
public boolean isServer() {
return true;
}
}
package io.swagger.codegen.spring;
import io.swagger.codegen.CodegenConfig;
import io.swagger.codegen.java.JavaClientOptionsTest;
import io.swagger.codegen.languages.SpringCodegen;
import io.swagger.codegen.options.SpringOptionsProvider;
import mockit.Expectations;
import mockit.Tested;
public class SpringOptionsTest extends JavaClientOptionsTest {
@Tested
private SpringCodegen clientCodegen;
public SpringOptionsTest() {
super(new SpringOptionsProvider());
}
@Override
protected CodegenConfig getCodegenConfig() {
return clientCodegen;
}
@SuppressWarnings("unused")
@Override
protected void setExpectations() {
new Expectations(clientCodegen) {{
clientCodegen.setModelPackage(SpringOptionsProvider.MODEL_PACKAGE_VALUE);
times = 1;
clientCodegen.setApiPackage(SpringOptionsProvider.API_PACKAGE_VALUE);
times = 1;
clientCodegen.setSortParamsByRequiredFlag(Boolean.valueOf(SpringOptionsProvider.SORT_PARAMS_VALUE));
times = 1;
clientCodegen.setInvokerPackage(SpringOptionsProvider.INVOKER_PACKAGE_VALUE);
times = 1;
clientCodegen.setGroupId(SpringOptionsProvider.GROUP_ID_VALUE);
times = 1;
clientCodegen.setArtifactId(SpringOptionsProvider.ARTIFACT_ID_VALUE);
times = 1;
clientCodegen.setArtifactVersion(SpringOptionsProvider.ARTIFACT_VERSION_VALUE);
times = 1;
clientCodegen.setSourceFolder(SpringOptionsProvider.SOURCE_FOLDER_VALUE);
times = 1;
clientCodegen.setLocalVariablePrefix(SpringOptionsProvider.LOCAL_PREFIX_VALUE);
times = 1;
clientCodegen.setSerializableModel(Boolean.valueOf(SpringOptionsProvider.SERIALIZABLE_MODEL_VALUE));
times = 1;
clientCodegen.setLibrary(SpringOptionsProvider.LIBRARY_VALUE);
times = 1;
clientCodegen.setFullJavaUtil(Boolean.valueOf(SpringOptionsProvider.FULL_JAVA_UTIL_VALUE));
times = 1;
clientCodegen.setTitle(SpringOptionsProvider.TITLE);
times = 1;
clientCodegen.setConfigPackage(SpringOptionsProvider.CONFIG_PACKAGE_VALUE);
times = 1;
clientCodegen.setBasePackage(SpringOptionsProvider.BASE_PACKAGE_VALUE);
times = 1;
clientCodegen.setInterfaceOnly(Boolean.valueOf(SpringOptionsProvider.INTERFACE_ONLY));
times = 1;
clientCodegen.setDelegatePattern(Boolean.valueOf(SpringOptionsProvider.DELEGATE_PATTERN));
times = 1;
clientCodegen.setSingleContentTypes(Boolean.valueOf(SpringOptionsProvider.SINGLE_CONTENT_TYPES));
times = 1;
clientCodegen.setJava8(Boolean.valueOf(SpringOptionsProvider.JAVA_8));
times = 1;
clientCodegen.setAsync(Boolean.valueOf(SpringOptionsProvider.ASYNC));
times = 1;
clientCodegen.setResponseWrapper(SpringOptionsProvider.RESPONSE_WRAPPER);
times = 1;
clientCodegen.setUseTags(Boolean.valueOf(SpringOptionsProvider.USE_TAGS));
times = 1;
}};
}
}
package io.swagger.codegen.spring;
import io.swagger.codegen.CodegenConfig;
import io.swagger.codegen.java.JavaClientOptionsTest;
import io.swagger.codegen.languages.SpringCodegen;
import io.swagger.codegen.options.SpringOptionsProvider;
import mockit.Expectations;
import mockit.Tested;
public class SpringOptionsTest extends JavaClientOptionsTest {
@Tested
private SpringCodegen clientCodegen;
public SpringOptionsTest() {
super(new SpringOptionsProvider());
}
@Override
protected CodegenConfig getCodegenConfig() {
return clientCodegen;
}
@SuppressWarnings("unused")
@Override
protected void setExpectations() {
new Expectations(clientCodegen) {{
clientCodegen.setModelPackage(SpringOptionsProvider.MODEL_PACKAGE_VALUE);
times = 1;
clientCodegen.setApiPackage(SpringOptionsProvider.API_PACKAGE_VALUE);
times = 1;
clientCodegen.setSortParamsByRequiredFlag(Boolean.valueOf(SpringOptionsProvider.SORT_PARAMS_VALUE));
times = 1;
clientCodegen.setInvokerPackage(SpringOptionsProvider.INVOKER_PACKAGE_VALUE);
times = 1;
clientCodegen.setGroupId(SpringOptionsProvider.GROUP_ID_VALUE);
times = 1;
clientCodegen.setArtifactId(SpringOptionsProvider.ARTIFACT_ID_VALUE);
times = 1;
clientCodegen.setArtifactVersion(SpringOptionsProvider.ARTIFACT_VERSION_VALUE);
times = 1;
clientCodegen.setSourceFolder(SpringOptionsProvider.SOURCE_FOLDER_VALUE);
times = 1;
clientCodegen.setLocalVariablePrefix(SpringOptionsProvider.LOCAL_PREFIX_VALUE);
times = 1;
clientCodegen.setSerializableModel(Boolean.valueOf(SpringOptionsProvider.SERIALIZABLE_MODEL_VALUE));
times = 1;
clientCodegen.setLibrary(SpringOptionsProvider.LIBRARY_VALUE);
times = 1;
clientCodegen.setFullJavaUtil(Boolean.valueOf(SpringOptionsProvider.FULL_JAVA_UTIL_VALUE));
times = 1;
clientCodegen.setTitle(SpringOptionsProvider.TITLE);
times = 1;
clientCodegen.setConfigPackage(SpringOptionsProvider.CONFIG_PACKAGE_VALUE);
times = 1;
clientCodegen.setBasePackage(SpringOptionsProvider.BASE_PACKAGE_VALUE);
times = 1;
clientCodegen.setInterfaceOnly(Boolean.valueOf(SpringOptionsProvider.INTERFACE_ONLY));
times = 1;
clientCodegen.setDelegatePattern(Boolean.valueOf(SpringOptionsProvider.DELEGATE_PATTERN));
times = 1;
clientCodegen.setSingleContentTypes(Boolean.valueOf(SpringOptionsProvider.SINGLE_CONTENT_TYPES));
times = 1;
clientCodegen.setJava8(Boolean.valueOf(SpringOptionsProvider.JAVA_8));
times = 1;
clientCodegen.setAsync(Boolean.valueOf(SpringOptionsProvider.ASYNC));
times = 1;
clientCodegen.setResponseWrapper(SpringOptionsProvider.RESPONSE_WRAPPER);
times = 1;
clientCodegen.setUseTags(Boolean.valueOf(SpringOptionsProvider.USE_TAGS));
times = 1;
clientCodegen.setUseBeanValidation(Boolean.valueOf(SpringOptionsProvider.USE_BEANVALIDATION));
times = 1;
}};
}
}
\ No newline at end of file
# swagger-petstore-spring-cloud
# swagger-spring
## Requirements
......@@ -27,7 +27,7 @@ Add this dependency to your project's POM:
```xml
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-petstore-spring-cloud</artifactId>
<artifactId>swagger-spring</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
......@@ -38,7 +38,7 @@ Add this dependency to your project's POM:
Add this dependency to your project's build file:
```groovy
compile "io.swagger:swagger-petstore-spring-cloud:1.0.0"
compile "io.swagger:swagger-spring:1.0.0"
```
### Others
......@@ -49,5 +49,5 @@ mvn package
Then manually install the following JARs:
* target/swagger-petstore-spring-cloud-1.0.0.jar
* target/swagger-spring-1.0.0.jar
* target/lib/*.jar
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>io.swagger</groupId>
<artifactId>swagger-petstore-spring-cloud</artifactId>
<artifactId>swagger-spring</artifactId>
<packaging>jar</packaging>
<name>swagger-petstore-spring-cloud</name>
<name>swagger-spring</name>
<version>1.0.0</version>
<properties>
<java.version>1.7</java.version>
......@@ -59,6 +59,13 @@
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
</dependency>
<!-- Bean Validation API support -->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
......
......@@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import javax.validation.constraints.*;
@Api(value = "Pet", description = "the Pet API")
public interface PetApi {
......@@ -65,7 +65,7 @@ public interface PetApi {
produces = "application/json",
consumes = "application/json",
method = RequestMethod.GET)
com.netflix.hystrix.HystrixCommand<ResponseEntity<List<Pet>>> findPetsByStatus(@ApiParam(value = "Status values that need to be considered for filter", required = true, allowableValues = "AVAILABLE, PENDING, SOLD") @RequestParam(value = "status", required = true) List<String> status);
com.netflix.hystrix.HystrixCommand<ResponseEntity<List<Pet>>> findPetsByStatus( @NotNull @ApiParam(value = "Status values that need to be considered for filter", required = true, allowableValues = "AVAILABLE, PENDING, SOLD") @RequestParam(value = "status", required = true) List<String> status);
@ApiOperation(value = "Finds Pets by tags", notes = "Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.", response = Pet.class, responseContainer = "List", authorizations = {
......@@ -81,7 +81,7 @@ public interface PetApi {
produces = "application/json",
consumes = "application/json",
method = RequestMethod.GET)
com.netflix.hystrix.HystrixCommand<ResponseEntity<List<Pet>>> findPetsByTags(@ApiParam(value = "Tags to filter by", required = true) @RequestParam(value = "tags", required = true) List<String> tags);
com.netflix.hystrix.HystrixCommand<ResponseEntity<List<Pet>>> findPetsByTags( @NotNull @ApiParam(value = "Tags to filter by", required = true) @RequestParam(value = "tags", required = true) List<String> tags);
@ApiOperation(value = "Find pet by ID", notes = "Returns a single pet", response = Pet.class, authorizations = {
......
......@@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import javax.validation.constraints.*;
@Api(value = "Store", description = "the Store API")
public interface StoreApi {
......@@ -52,7 +52,7 @@ public interface StoreApi {
produces = "application/json",
consumes = "application/json",
method = RequestMethod.GET)
com.netflix.hystrix.HystrixCommand<ResponseEntity<Order>> getOrderById(@ApiParam(value = "ID of pet that needs to be fetched",required=true ) @PathVariable("orderId") Long orderId);
com.netflix.hystrix.HystrixCommand<ResponseEntity<Order>> getOrderById( @Min(1) @Max(5)@ApiParam(value = "ID of pet that needs to be fetched",required=true ) @PathVariable("orderId") Long orderId);
@ApiOperation(value = "Place an order for a pet", notes = "", response = Order.class, tags={ "store", })
......
......@@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import javax.validation.constraints.*;
@Api(value = "User", description = "the User API")
public interface UserApi {
......@@ -81,8 +81,8 @@ public interface UserApi {
produces = "application/json",
consumes = "application/json",
method = RequestMethod.GET)
com.netflix.hystrix.HystrixCommand<ResponseEntity<String>> loginUser(@ApiParam(value = "The user name for login", required = true) @RequestParam(value = "username", required = true) String username,
@ApiParam(value = "The password for login in clear text", required = true) @RequestParam(value = "password", required = true) String password);
com.netflix.hystrix.HystrixCommand<ResponseEntity<String>> loginUser( @NotNull @ApiParam(value = "The user name for login", required = true) @RequestParam(value = "username", required = true) String username,
@NotNull @ApiParam(value = "The password for login in clear text", required = true) @RequestParam(value = "password", required = true) String password);
@ApiOperation(value = "Logs out current logged in user session", notes = "", response = Void.class, tags={ "user", })
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment