meds-processor ? Panduan untuk C# dan .NET CoreIni adalah tempat yang sempurna untuk mulai belajar C# dan .NET Core dengan membangun sesuatu yang nyata dengan penampilan dan terasa - pengikis data daftar narkoba dan API Web REST terdokumentasi yang aman. Proyek ini dirancang untuk pengembang yang memiliki pengalaman pemrograman moderat dan beberapa pengalaman dalam membangun aplikasi web tetapi masih belum dikembangkan C# dan .NET di backend.
ValidFrom.Year < 2019 , menghapus paralelisasi parser karena situasi kunci file, membersihkan sedikit tanggapan API, dihapus kode yang tidak perlu.ValidFrom.Year < 2019 ekspresi. Saya akan memperbaikinya dengan parser tambahan (atau perbaikan lainnya) dan memperbarui posting blog! Produksi Cross-Platform Ready SDK adalah .NET Core dan versi yang digunakan untuk membangun aplikasi ini adalah "version": "2.2.402" . Anda dapat menemukan unduhan SDK untuk OS Anda di sini.
Bangun aplikasi (dan pastikan konektivitas internet untuk paket Nuget untuk dipulihkan) dengan:
> cd src/MedsProcessor.WebAPI
MedsProcessor.WebAPI > dotnet buildJalankan aplikasi (dan pastikan konektivitas internet untuk pengikis web berfungsi) di https: // localhost: 5001 dengan:
> cd src/MedsProcessor.WebAPI
MedsProcessor.WebAPI > dotnet runAnda sekarang dapat menelusuri API Web melalui UI Swagger pada alamat: https: // localhost: 5001/swagger/index.html
Gambar di bawah ini adalah tangkapan layar UI Swagger yang diproduksi untuk mendokumentasikan API Web dengan titik akhir yang tersedia dan metode HTTP yang dihormati.
Saya merasa kesal dengan fakta bahwa dana asuransi kesehatan negara saya menanti data penting seperti obat -obatan dan obat -obatan dalam format yang tidak terstruktur dan tidak ramah. Juga, saya pikir saya agak berkarat dengan .NET Core dan menulis blog teknis.
Belajarlah untuk membangun pengikis web, pengunduh & excel parser dengan menggali beberapa data spreadsheet yang menyembunyikan dana asuransi kesehatan Kroasia dan daftar obat utama dan tambahannya dan semua itu dengan menggunakan hanya C# dan .NET Core (pada platform OS komputer modern)! SDK inti .NET dapat diinstal dan digunakan yang sama pada Windows, OSX atau Linux.
Repositori terdiri dari empat bagian. Bagian -bagian itu adalah cabang git di mana masing -masing memiliki artikel posting blog mereka sendiri. Anda dapat menelusuri cabang di sini di GitHub (dropdown pilihan cabang). Saya menyarankan agar Anda mulai dengan membaca bagian blog/1 karena akan memandu Anda dengan membangun solusi sendiri. Anda dapat menggunakan OS modern dan editor kode.
Bagian/1 (Praktis .NET Core - Tulis pengikis web, downloader & excel parser. Bagian 1: scraper)
AngleSharp untuk mengambil beberapa halaman HTML jarak jauh dan mengekstrak beberapa tautan.Bagian/2 (Praktis .NET Core - Tulis Scraper, Fetcher & XLS (X) Parser. Bagian 2: Pengunduh)
Task Parallel Library dan memproses tugas async di .NET Core.Bagian/3 (Praktis .NET Core - Tulis scraper, fetcher & .xls (x) parser. Bagian 3: parser)
NPOI untuk mengekstrak data yang relevan untuk kelas model C# Anda. Setelah menyelesaikan Anda akan memiliki satu set data data yang diubah dan terorganisir.Bagian/4 (Praktis .NET Core - Tulis scraper, fetcher & .xls (x) parser. Bagian 4: API web istirahat aman)
Swagger berdasarkan pengontrol dan tindakan Anda yang terdokumentasi dengan baik. Sumber telah banyak berubah melalui bagian -bagiannya. Mungkin ada bug karena proyek ini tidak dicakup oleh tes (sesuatu yang mungkin saya pertimbangkan di masa depan). Bagian/4 Selain itu, implementasi API Web masuk ke refactoring dan meningkatkan beberapa bagian yang sengaja tidak dalam bentuk terbaik dari bagian sebelumnya. Yang pertama kali Anda perhatikan adalah bahwa dokumen ReadMe.MD ini tidak ada dalam bentuk akhir ini di tiga cabang pertama. Jangan berkecil hati, lebih baik beri tahu saya jika Anda melihat tempat untuk perbaikan. Semuanya harus berfungsi seperti yang diharapkan jika Anda mengikuti seri blog. Juga, semua praktik yang Anda lihat di sini seperti kelas dasar untuk respons HTTP untuk membawa data header HTTP bukanlah produksi terbaik untuk digunakan. Jadi ya, selalu tetap penasaran, tanyakan pada diri Anda "mengapa?", Kembali memikirkan pendekatan Anda dan kemudian jalankan.
Saya terbuka untuk perbaikan, komentar, masalah, garpu/PR dan semua yang menjadi perhatian dan ide yang baik. Kami juga dapat mendiskusikan ide dan topik Anda di bagian komentar di artikel posting blog jika Anda lebih suka itu.
Vedran Mandić.
Lisensi MIT