Web ページでは、ブラウザーのセキュリティにより、その Web ページを提供したドメインと異なるドメインに対して要求を行うことはできません。

ではクロスオリジン要求 (CORS) が許可されていないAPIに対してはどうすればよいのでしょうか?

ここではYahoo!!日本語形態素解析を使います。そのままではうまくいきません。

そこでサイト内にPHPファイルをアップロードしてそこでAPIを呼び出してこれを取得するという方法でやってみることにします(だったら全部PHPでやればいいじゃんという話になってしまうのですが・・・)。

完成品の確認はこちらからどうぞ。
https://lets-csharp.com/wp-content/uploads/2021/02/blazor-app-morphological-analysis/

入力された文章を分解して、形態素の表記、読みがな、品詞、基本形を取得します。リクエストパラメータについてはテキスト解析:日本語形態素解析 – Yahoo!デベロッパーネットワークを参照してください。

wwwroot/sample-data/abc.php

1ページしかつくらないのでNavMenu.razorのいらない部分は消してしまいます。

NavMenu.razor

wwwroot/index.html

Pages/Index.razorは以下のようにします。

取得したい品詞にチェックをいれてテキストエリアに解析したい文章を入力してボタンをおすと解析結果が表示されます。

ボタンをおすとHandleValidSubmit()メソッドが実行されます。どのテキストエリアのテキストとチェックボックスの状態をパラメータにしてHttp.PostAsyncメソッドが呼び出されます。処理の結果としてXmlが返されるので、これをGetResultFromXml(string xml)メソッドで解析してWordオブジェクトのリストを取得しています。

Pages/Index.razor

完成品の確認はこちらからどうぞ。
https://lets-csharp.com/wp-content/uploads/2021/02/blazor-app-morphological-analysis/