0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Qiitaに投稿した記事のリンクを楽にWordPressに送りたい #4

Last updated at Posted at 2020-03-04

#シリーズ
Qiitaに投稿した記事のリンクを楽にWordPressに送りたい #1
Qiitaに投稿した記事のリンクを楽にWordPressに送りたい #2
Qiitaに投稿した記事のリンクを楽にWordPressに送りたい #3

#環境
IDE:VisualStudio2019
アプリケーション:ASP.Net Core WebAPI
フレームワーク:.NET Core 3.1

#Webアプリに移行する
前回の続きになります。

#3で作成したコンソールアプリの処理をWebAPI側から呼び出してみたいと思います。

#設計
ASP.NET CoreでWebAPIを作成

「#3で作成した処理」を呼び出す処理を実装

その処理をブックマークレットから呼び出す

#ASP.NET Core
Visual Studio のテンプレートから作成します。

image.png

デフォルトで作成されるWeatherForcastのクラス等はQiita2WPWebに書き換えました。
image.png

launchSettings.json
image.png

プロジェクトの参照を追加します
image.png

コントローラーの実装

using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using System.Threading.Tasks;
using TestProject.QiitaToWP;

namespace TestProject.QiitaToWPWeb.Controllers
{
    [ApiController]
    [Route("[controller]/[action]")]
    public class Qiita2WPWebController : ControllerBase
    {
        private readonly ILogger<Qiita2WPWebController> _logger;

        public Qiita2WPWebController(ILogger<Qiita2WPWebController> logger)
        {
            _logger = logger;
        }

        [HttpGet]
        public IActionResult Get()
        {
            return Ok();
        }

        [HttpPost]
        public async Task<IActionResult> Post()
        {
            var q2wp = new Qiita2WP();

            // Qiita2WPプロジェクトの方の処理を使いまわす
            await q2wp.Qiita2WPArticle();            

            return Ok();
        }
    }
}
Route

の説明については以下が参考になりました。
ASP.NET Core でのコントローラー アクションへのルーティング

#WebAPIをブックマークレットから呼び出す。
以下の処理をブックマークレットで行います。

var xhr=new XMLHttpRequest();
xhr.open("POST","https://localhost:5001/qiita2wpweb/post", true);
xhr.onreadystatechange = function()
{
    if (this.readyState==4) {
        alert("リクエスト完了");
    }
};
xhr.send(null);

1行バージョン

javascript:var xhr=new XMLHttpRequest();xhr.open("POST","https://localhost:5001/qiita2wpweb/post");xhr.onreadystatechange=function(){if(this.readyState==4){alert("リクエスト完了");}};xhr.send(null);

以下のようにブックマークレットを追加します。
image.png

#実行確認
Webアプリを実行します。
image.png
緑の▲ボタン

Wp側の記事を空にしておきます。
image.png

ブックマークレットをクリックします。

実行後
image.png

Postが行えたかどうか。
image.png

WPの記事
image.png

追加されたことが確認できました。

#GitHub
TestProject

次回はDockerに乗せられるか試します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?