Slide 1

Slide 1 text

Swagger Codegen @wagyu298

Slide 2

Slide 2 text

5-%3 w 4XBHHFSˠ3&45"1*ͷ࢓༷Λ:".-Ͱॻ͘΍ͭ w 4XBHHFS$PEFHFOˠ4XBHHFS:".-͔ΒίʔυΛ ੜ੒͢ΔϓϩάϥϜ w 4FSWFS4UVCͱ$MJFOU"1*Λੜ੒Ͱ͖Δ w 4FSWFS4UVC͸ແ͍ΑΓϚγϨϕϧɺ$MJFOU"1*͸ͦ ͷ··ӡ༻ʹ࢖͑Δ w .JDSPTFSWJDFͱ͔ΞϓϦ޲͚

Slide 3

Slide 3 text

ࠃ಺ͷεϚϗͷ ࢖༻ঢ়گʹ͍ͭͯ

Slide 4

Slide 4 text

૯຿লฏ੒೥௨৴ར༻ಈ޲ௐࠪͷ݁Ռ

Slide 5

Slide 5 text

૯຿লฏ੒೥௨৴ར༻ಈ޲ௐࠪͷ݁Ռ

Slide 6

Slide 6 text

ύιίϯͱ͔Φϫίϯ

Slide 7

Slide 7 text

4XBHHFS w 0QFO"1*ͷ͜ͱ w IUUQTXBHHFSJP w IUUQTXXXPQFOBQJTPSH w αϯϓϧIUUQQFUTUPSFTXBHHFSJPW TXBHHFSZBNM w 3&45"1*ఆٛϑΝΠϧΛ:".-Ͱهड़͠ɺωοτϫʔ Ϋӽ͠ʹ࢓༷Λ఻ൖͤͨ͞Γ͍ͨ͠ײ͡ͷ΍ͭ

Slide 8

Slide 8 text

0QFO*%Έͨ͘
 ແ͔ͬͨ͜ͱʹͳΓͦ͏ͳ
 ۭؾ͕ա෼ʹ͋Δ

Slide 9

Slide 9 text

9.-31$ʮ4XBHHFS͕΍ΒΕͨΑ͏ͩͳʜʯ 40"1ʮΫΫΫʜౕ͸࢛ఱԦͷதͰ΋࠷ऑʜʯ $03#"ʮਓؒ͝ͱ͖ʹෛ͚Δͱ͸31$ͷ໘Ԛ ͠Αʜʯ ͜͏ͳΒͳ͍ͱྑ͍Ͷʂ

Slide 10

Slide 10 text

ศརͳ෦෼΋͋ΔͷͰ
 Ί͛ͣʹ࢖͍͖͍ͬͯͨ

Slide 11

Slide 11 text

4XBHHFS$PEFHFO w 4XBHHFS4QFDJpDBUJPOϑΝΠϧ͔ΒίʔυΛੜ ੒͢ΔϓϩάϥϜ w ΫϥΠΞϯτ"1*ͱαʔόελϒΛग़ྗͰ͖Δ w ͷϓϩάϥϛϯάݴޠʹରԠ

Slide 12

Slide 12 text

BOESPJE BTQOFU BTQOFUDPSF BTZODTDBMB CBTI DXJLJ DTIBSQ DQQSFTU EBSU FMJYJS qBTI QZUIPOqBTL HP HSPPWZ KBWB KBYST KBYSTDYGDMJFOU KBYSTDYG KBYST SFTUFBTZ KBYSTTQFD KBYSTDYGDEJ JOqFDUPS KBWBTDSJQU KBWBTDSJQUDMPTVSFBOHVMBS KNFUFS OBODZGY 
 OPEFKTTFSWFS PCKD QFSM QIQ QZUIPO RUDQQ SVCZ TDBMB TDBMBUSB pODI TJMFY1)1 TJOBUSB SBJMT TMJN TQSJOH EZOBNJDIUNM IUNM IUNM TXBHHFS TXBHHFS ZBNM TXJGU TXJGU UJ[FO UZQFTDSJQUBOHVMBS UZQFTDSJQUBOHVMBS UZQFTDSJQUOPEF UZQFTDSJQUGFUDI BLLBTDBMB $TIBSQ%PU/FU DMPKVSF IBTLFMM MVNFO 
 HPTFSWFS FSMBOHTFSWFS VOEFSUPX NTGK [FQI

Slide 13

Slide 13 text

.JDSPTFSWJDF΍ ΞϓϦ։ൃʹ࢖͑Δ͸ͣ

Slide 14

Slide 14 text

4XBHHFS$PEFHFOͰ
 ωΠςΟϒΞϓϦ։ൃ؀ڥΛ
 ෼ͰηοτΞοϓ͢Δ

Slide 15

Slide 15 text

ཁΔ΋ͷ w 4XBHHFS$PEFHFOͷ࠷৽൛ w TXJGUαϙʔτ͕NBTUFSϒϥϯνʹ͔͠ແ͍ͷͰ Ϗϧυ͢Δඞཁ͕͋ΔʗTXJGU͕ཁΒͳ͚Ε͹ IPNFCSFX͔ΒͷΠϯετʔϧͰ0,Ͱ͢ w IUUQTXBHHFSJPTXBHHFSDPEFHFO w IUUQTXBHHFSJPEPDT w IUUQTHJUIVCDPNTXBHHFSBQJTXBHHFSDPEFHFO

Slide 16

Slide 16 text

ཁΔ΋ͷ w +BWB w Ϗϧυ͢ΔͳΒNWO NBWFO w CSFXJOTUBMMNBWFOͰೖΓ·͢

Slide 17

Slide 17 text

ཁΔ΋ͷ w 0QFO"1*Ͱ࢓༷Λهड़ͨ͠:".-ϑΝΠϧ w ࠓճ͸ެࣜͷαϯϓϧΛ࢖͍·͢

Slide 18

Slide 18 text

:".-ϑΝΠϧΛऔಘ bash-3.2$ curl http://petstore.swagger.io/v2/swagger.yaml > swagger.yaml

Slide 19

Slide 19 text

4FSWFS4UVCͷ࡞੒ bash-3.2$ java -jar swagger-codegen-cli.jar generate -i swagger.yaml - l nodejs-server -o nodejs bash-3.2$ cd nodejs bash-3.2$ npm install bash-3.2$ node index.js Your server is listening on port 8080 (http://localhost:8080) Swagger-ui is available on http://localhost:8080/docs IUUQMPDBMIPTUWQFUͰΞΫηεͰ͖·͢

Slide 20

Slide 20 text

J04$MJFOU"1*ͷ࡞੒ bash-3.2$ java -jar swagger-codegen-cli.jar generate -i swagger.yaml -l swift3 -o PetShop -DprojectName=PetShop $PDPB1PETϥΠϒϥϦ1FU4IPQ"1*͕Ͱ͖·͢ "1*ݺͼग़͠͸"MBNPpSFͰ͢ "OESPJE͸WPMMFZͰ͢

Slide 21

Slide 21 text

QPETQFD౳͕एׯݹ͍ͷͰ ͍͘͡Γ·͢ # Uncomment this line to define a global platform for your project # platform :ios, '9.0' target 'SwaggerExam' do # Comment this line if you're not using Swift and don't want to use dynamic frameworks use_frameworks! # Pods for SwaggerExam pod 'PetShopAPI', :path => '../PetShopAPI' target 'SwaggerExamTests' do inherit! :search_paths # Pods for testing end post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['SWIFT_VERSION'] = '3.0' end end end end

Slide 22

Slide 22 text

ʢ͕࣌ؒແ͍ͷͰʣ"1*Λݺ ͼग़ͯ͠ϩάදࣔ͠·͢ func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. PetShopAPI.basePath = "http://localhost:8080/v2" PetAPI.getPetById(petId: 12) { (pet, error) in if let error = error { print(error) return } guard let pet = pet else { return } print(pet.encodeToJSON()) } return true } *OGPQMJTUʹBQQUSBOTQPSUTFDVSJUZͷઃఆ͕ඞཁ

Slide 23

Slide 23 text

4FSWFS4UVCΛHPMBOHʹม ͑ͯΈ·͢ bash-3.2$ java -jar swagger-codegen-cli.jar generate -i swagger.yaml -l go-server -o go-server -DpackageName=petshop OPEFTFSWFSͱҟͳΓςετ༻ͷσʔλ͕ ؼͬͯ͜ͳ͍ͷͰΤϥʔʹͳΓ·͢

Slide 24

Slide 24 text

ऴΘΓ