android9以降のhttp通信はhttpsが必須だった
apkを作成してandroid実機でテストしても動作しない
はてな? エミュレーターでは動作したけど....
よくよく考えたら android9からは httpsが必須だった
.NETも iis expressの単体テストもhttpsオプションが付いていた。
世の中は httpsだった(テスト環境ではhttpで許して欲しい)
android9以降のhttp通信はhttpsが必須だった
apkを作成してandroid実機でテストしても動作しない
はてな? エミュレーターでは動作したけど....
よくよく考えたら android9からは httpsが必須だった
.NETも iis expressの単体テストもhttpsオプションが付いていた。
世の中は httpsだった(テスト環境ではhttpで許して欲しい)
telerik kendoreact の実行環境を作成して見た
npm audit後、npm startで実行すると色々とエラー発生
webpack と react-scriptsのバージョンが古いのが原因だった
ライブラリのバージョンって難しい
データベースがSQL Server
管理プログラムをMAGICで作成、このデータをRest APIで公開するのだが
GraphQLを使って公開した
nugetには GraphQL.NETと Hot Chocolateがあった
両方とも今年に更新されているので どちらを選ぶか迷いました
Hot Chocolateの方が.NET8に対応なので こちらを選択
nugetからソリューションに追加
EF Coreと連携して SQL ServerのデータをGraphQLとして簡単に公開出来ました
SQL Server側でViewを作成後、GraphQLで公開すればClient側は
凄くシンプルになった。
現象
C#で作成した GraphQL Clientからは Azure上のGraphQLは問題なくデータ取得出来た
React-Appで作成したアプリでGraphQLをCallするとnetwork errorと表示される
原因
React-Appを起動する時は Http://localhost:3000
ローカル実行から他のサイト(GraphQL)をCallすると CROSでセキュリティー上NGだった
対応
package.jsonにproxyを追加
"proxy": "http://azure.japaneast.cloudapp.azure.com"
GraphQLをCallしているurlwも変更
"http://azure.japaneast.cloudapp.azure.com/graphql" ->
// urql Clientを作成
const client = createClient({
url: '/graphql', // Proxy経由
exchanges: [fetchExchange],
});
fetchExchange を追加しないとリモートからデータを取得しない
react-appから見たら GraphQLがCROS
Web Browserの開発toolで見るとしっかりと赤字でCROSと表示されていた
CROSを知らなかったことで1日潰してしまった .....Orz
Azure Web Service + Supabase 有りでした
Azure Web Serviceの無料枠がhttps以外無効だからSQliteでDBを作成する予定でしたが
SupabaseのC# ClientがRest API経由でデータを取得出来るので
ネットワーク問題を回避出来た。
JWTの認証ライブラリを作成してくれた人たちに感謝します
Supabaseの無料枠もPostgreSQLで500Mだから
容量的には1G欲しいけど、無料って考えてると500Mでも十分です
無料だと大体100Mから300M