Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Swift OpenAPI Generator に 入門する

kamimi
June 20, 2023

Swift OpenAPI Generator に 入門する

2023/6/20開催の potatotips #82 iOS/Android開発Tips共有会 登壇資料。
Zennの記事は以下です。
https://zenn.dev/kamimi01/articles/7c6f79e42c3750

kamimi

June 20, 2023
Tweet

More Decks by kamimi

Other Decks in Programming

Transcript

  1. !LBNJNJʛ͔ΈΈ
    4XJGU0QFO"1*(FOFSBUPSʹ
    ೖ໳͢Δ
    QPUBUPUJQTJ04"OESPJE։ൃ5JQTڞ༗ձ

    View Slide

  2. ࣗݾ঺հ
    w*%
    w LBNJNJ@ʛ͔ΈΈ
    w࢓ࣄ
    w ϊʔίʔυͷձࣾͰJ04ΞϓϦ։ൃ
    w࠷ۙϋϚ͍ͬͯΔ͜ͱ
    w 88%$Λͻͨ͢Β௥͏ɻʢ࠷ۙ͸ϥΠϒϥϦपΓʣ
    w จষΛॻ͘ɻOPUFϥόʔɻ
    ͖ΜͪΐʔΨϯόϧ

    View Slide

  3. 0QFO"1*(FOFSBUPS
    ࢖ͬͯ·͔͢ʁ

    View Slide

  4. 0QFO"1*

    View Slide

  5. ࣗಈੜ੒ʂศརʂ

    View Slide

  6. 0QFO"1*5PPMT͕ఏڙ͢Δ0QFO"1*(FOFSBUPS
    wΞϓϦͰ࣮ࡍʹίʔυΛ࢖͏·Ͱ͕ͪΐͬͱखؒ
    0QFO"1*ͷυΩϡϝϯτʢTQFDZBNMͳͲʣΛ४උ
    ίϚϯυͱύϥϝʔλͰίʔυΛੜ੒

    (JUʹϓογϡ
    $PDPB1PETͷઃఆΛ

    ΞϓϦͰ࢖͏

    View Slide

  7. 0QFO"1*5PPMT͕ఏڙ͢Δ0QFO"1*(FOFSBUPS
    wΞϓϦͰ࣮ࡍʹίʔυΛ࢖͏·Ͱ͕ͪΐͬͱ໘౗
    0QFO"1*ͷυΩϡϝϯτʢTQFDZBNMͳͲʣΛ४උ
    ίϚϯυͱύϥϝʔλͰίʔυΛੜ੒

    (JUʹϓογϡ
    $PDPB1PETͷઃఆΛ

    ΞϓϦͰ࢖͏

    View Slide

  8. 0QFO"1*5PPMT͕ఏڙ͢Δ0QFO"1*(FOFSBUPS
    wΞϓϦͰ࣮ࡍʹίʔυΛ࢖͏·Ͱ͕ͪΐͬͱ໘౗
    0QFO"1*ͷυΩϡϝϯτʢTQFDZBNMͳͲʣΛ४උ
    ίϚϯυͱύϥϝʔλͰίʔυΛੜ੒

    (JUʹϓογϡ
    $PDPB1PETͷઃఆΛ

    ΞϓϦͰ࢖͏

    View Slide

  9. 0QFO"1*5PPMT͕ఏڙ͢Δ0QFO"1*(FOFSBUPS
    wΞϓϦͰ࣮ࡍʹίʔυΛ࢖͏·Ͱ͕ͪΐͬͱ໘౗
    0QFO"1*ͷυΩϡϝϯτʢTQFDZBNMͳͲʣΛ४උ
    ίϚϯυͱύϥϝʔλͰίʔυΛੜ੒

    (JUʹϓογϡ
    $PDPB1PETͷઃఆΛ

    ΞϓϦͰ࢖͏

    View Slide

  10. 0QFO"1*5PPMT͕ఏڙ͢Δ0QFO"1*(FOFSBUPS
    wΞϓϦͰ࣮ࡍʹίʔυΛ࢖͏·Ͱ͕ͪΐͬͱ໘౗
    0QFO"1*ͷυΩϡϝϯτʢTQFDZBNMͳͲʣΛ४උ
    ίϚϯυͱύϥϝʔλͰίʔυΛੜ੒

    (JUʹϓογϡ
    $PDPB1PETͷઃఆΛ

    ΞϓϦͰ࢖͏

    View Slide

  11. 0QFO"1*5PPMT͕ఏڙ͢Δ0QFO"1*(FOFSBUPS
    wΞϓϦͰ࣮ࡍʹίʔυΛ࢖͏·Ͱ͕ͪΐͬͱ໘౗
    0QFO"1*ͷυΩϡϝϯτʢTQFDZBNMͳͲʣΛ४උ
    ίϚϯυͱύϥϝʔλͰίʔυΛੜ੒

    (JUʹϓογϡ
    $PDPB1PETͷઃఆΛ

    ΞϓϦͰ࢖͏ ਺೥લͷํ๏
    ͔ͩΒ΋͏ݹ͍͔΋

    View Slide

  12. λʔϛφϧɺϥΠϒϥϦͷઃఆϑΝΠϧɺ
    9DPEFΛԿ౓΋ߦ͖དྷ͢Δ

    View Slide

  13. ͍ͨ΁Μ🤯

    View Slide

  14. View Slide

  15. 4XJGU0QFO"1*(FOFSBUPS
    w4XJGUಛԽͷίʔυੜ੒πʔϧ
    w IUUQTTXJGUQBDLBHFJOEFYDPNBQQMFTXJGUPQFOBQJ
    HFOFSBUPSEPDVNFOUBUJPOTXJGUPQFOBQJHFOFSBUPS
    w88%$Ͱొ৔
    w؀ڥ
    w 4XJGU͔Β
    w 0QFO"1*YʹରԠ

    View Slide

  16. 4XJGU0QFO"1*(FOFSBUPS
    wಋೖฤ
    wίʔυར༻ฤ
    wӡ༻ฤ

    View Slide

  17. 4XJGU0QFO"1*(FOFSBUPS
    wಋೖฤ
    wίʔυར༻ฤ
    wӡ༻ฤ

    View Slide

  18. 4XJGU0QFO"1*(FOFSBUPSಋೖฤ
    1BDLBHF%FQFOEFODJFTͰ̏ͭͷґଘؔ܎Λ௥Ճ
    w TXJGUPQFOBQJHFOFSBUPS
    w ίʔυੜ੒ͷຊମɻ4XJGU1BDLBHFQMVHJOͱͯ͠ఏڙɻ
    w TXJGUPQFOBQJSVOUJNF
    w ੜ੒͞Εͨίʔυ͕ར༻͢Δɺڞ௨ͷܕ΍ந৅Խ
    w TXJGUPQFOBQJVSMTFTTJPO
    w )551ΫϥΠΞϯτϥΠϒϥϦɻ

    J04ΞϓϦͳΒ͜Εɻ

    View Slide

  19. 4XJGU0QFO"1*(FOFSBUPSಋೖฤ
    1BDLBHF%FQFOEFODJFTͰ̏ͭͷґଘؔ܎Λ௥Ճ
    w TXJGUPQFOBQJHFOFSBUPS
    w ίʔυੜ੒ͷຊମɻ4XJGU1BDLBHFQMVHJOͱͯ͠ఏڙɻ
    w TXJGUPQFOBQJSVOUJNF
    w ੜ੒͞Εͨίʔυ͕ར༻͢Δɺڞ௨ͷܕ΍ந৅Խ
    w TXJGUPQFOBQJVSMTFTTJPO
    w )551ΫϥΠΞϯτϥΠϒϥϦɻ

    J04ΞϓϦͳΒ͜Εɻ

    View Slide

  20. 4XJGU0QFO"1*(FOFSBUPSಋೖฤ
    1BDLBHF%FQFOEFODJFTͰ̏ͭͷґଘؔ܎Λ௥Ճ
    w TXJGUPQFOBQJHFOFSBUPS
    w ίʔυੜ੒ͷຊମɻ4XJGU1BDLBHFQMVHJOͱͯ͠ఏڙɻ
    w TXJGUPQFOBQJSVOUJNF
    w ੜ੒͞Εͨίʔυ͕ར༻͢Δɺڞ௨ͷܕ΍ந৅Խ
    w TXJGUPQFOBQJVSMTFTTJPO
    w )551ΫϥΠΞϯτϥΠϒϥϦɻ

    J04ΞϓϦͳΒ͜Εɻ

    View Slide

  21. 4XJGU0QFO"1*(FOFSBUPSಋೖฤ
    1BDLBHF%FQFOEFODJFTͰ̏ͭͷґଘؔ܎Λ௥Ճ
    w TXJGUPQFOBQJHFOFSBUPS
    w ίʔυੜ੒ͷຊମɻ4XJGU1BDLBHFQMVHJOͱͯ͠ఏڙɻ
    w TXJGUPQFOBQJSVOUJNF
    w ੜ੒͞Εͨίʔυ͕ར༻͢Δɺڞ௨ͷܕ΍ந৅Խ
    w TXJGUPQFOBQJVSMTFTTJPO
    w )551ΫϥΠΞϯτϥΠϒϥϦɻ

    J04ΞϓϦͳΒ͜Εɻ

    View Slide

  22. 4XJGU0QFO"1*(FOFSBUPSಋೖฤ
    #VJME1IBTFTʹ0QFO"1*(FOFSBUPSΛ௥Ճ
    ϏϧυπʔϧϓϥάΠϯͱͯ͠࢖༻͢Δ

    ʢͭ·ΓϏϧυϓϩηεͷҰͭͱͯ͠ίʔυੜ੒Λߦ͏ʣ

    View Slide

  23. 4XJGU0QFO"1*(FOFSBUPSಋೖฤ
    0QFO"1*ͷυΩϡϝϯτΛ̎ͭ௥Ճ
    w PQFOBQJZBNM·ͨ͸PQFOBQJKTPO
    w ͜ΕҎ֎ͷϑΝΠϧ໊ɺ֦ுࢠ͸ड͚෇͚ͳ͍
    w PQFOBQJHFOFSBUPSDPO
    fi
    HZBNM
    w ͲͷίʔυΛੜ੒͢Δ͔Λఆٛ͢Δ
    0QFO"1*5PPMTͩͱ
    ίϚϯυͷҾ਺Ͱ౉ͯͨ͠

    View Slide

  24. 4XJGU0QFO"1*(FOFSBUPSಋೖฤ
    0QFO"1*ͷυΩϡϝϯτΛ̎ͭ௥Ճ
    w PQFOBQJZBNM·ͨ͸PQFOBQJKTPO
    w ͜ΕҎ֎ͷϑΝΠϧ໊ɺ֦ுࢠ͸ड͚෇͚ͳ͍
    w PQFOBQJHFOFSBUPSDPO
    fi
    HZBNM
    w ͲͷίʔυΛੜ੒͢Δ͔Λఆٛ͢Δ
    0QFO"1*5PPMTͩͱ
    ίϚϯυͷҾ਺Ͱ౉ͯͨ͠

    View Slide

  25. 4XJGU0QFO"1*(FOFSBUPSಋೖฤ
    Ϗϧυ͢Δ

    View Slide

  26. 4XJGU0QFO"1*(FOFSBUPSಋೖฤ
    Ϗϧυ͢Δ
    ੜ੒͞ΕΔϑΝΠϧ͸ɺ5ZQFTTXJGUͱ$MJFOUTXJGU

    View Slide

  27. 4XJGU0QFO"1*(FOFSBUPSಋೖฤ
    Ϗϧυ͢Δ
    ग़ྗઌ͸ɺ%FSJWFE%BUBϑΥϧμ
    ʢͭ·Γ(JUͷ௥੻ର৅֎ͳͷͰɺHJUJHOPSFෆཁʣ

    View Slide

  28. ׬ྃʂ🫡

    View Slide

  29. ൺֱ͢Δ👀
    0QFO"1*ͷυΩϡϝϯτΛ४

    ίϚϯυͱύϥϝʔλͰ

    ίʔυΛੜ੒
    (JUʹϓογϡ
    $PDPB1PETͷઃఆ
    ΞϓϦͰ࢖͏
    1BDLBHF%FQFOEFODJFTͰ̏ͭ
    ͷґଘؔ܎Λ௥Ճ
    #VJME1IBTFTʹ
    0QFO"1*(FOFSBUPSΛ௥Ճ
    0QFO"1*ͷυΩϡϝϯτΛ̎ͭ
    ௥Ճ
    Ϗϧυ͢Δ
    ΞϓϦͰ࢖͏
    0QFO"1*(FOFSBUPS 4XJGU0QFO"1*(FOFSBUPS

    View Slide

  30. ൺֱ͢Δ👀
    0QFO"1*ͷυΩϡϝϯτΛ४

    ίϚϯυͱύϥϝʔλͰ

    ίʔυΛੜ੒
    (JUʹϓογϡ
    $PDPB1PETͷઃఆ
    ΞϓϦͰ࢖͏
    1BDLBHF%FQFOEFODJFTͰ̏ͭ
    ͷґଘؔ܎Λ௥Ճ
    #VJME1IBTFTʹ
    0QFO"1*(FOFSBUPSΛ௥Ճ
    0QFO"1*ͷυΩϡϝϯτΛ̎ͭ
    ௥Ճ
    Ϗϧυ͢Δ
    ΞϓϦͰ࢖͏
    0QFO"1*(FOFSBUPS 4XJGU0QFO"1*(FOFSBUPS

    View Slide

  31. ͍͍ͩͨ9DPEFͰ׬݁͢Δ

    View Slide

  32. ʢಋೖ͸ʣ4XJGU0QFO"1*(FOFSBUPS

    ༏উ🏅

    View Slide

  33. 4XJGU0QFO"1*(FOFSBUPS
    wಋೖฤ
    wίʔυར༻ฤ
    wӡ༻ฤ

    View Slide

  34. ͖ͭͮ͸;FOOͰʂ👉

    View Slide

  35. ΈͯͶ

    View Slide

  36. ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ
    ʢ࠙਌ձɺ͍ΖΜͳਓͱ࿩͍ͨ͠Ͱ͢☺ʣ

    View Slide