C# WebAPI generate web api and invoke via console
1.New WebApi solution,add controller,BooksController
namespace BooksServices.Models { public class Book { public int Id { get; set; } public string Name { get; set; } public string ISBN { get; set; } public string Content { get; set; } public string PublishTime { get; set; } public string Summary { get; set; } public string Title { get; set; } public string Topic { get; set; } } } namespace BooksServices { public class Program { public static void Main(string[] args) { Console.WriteLine(DateTime.Now); var builder = WebApplication.CreateBuilder(args); //Add CORS policy builder.Services.AddCors(options => { options.AddPolicy("AllowAll", builder => { builder.AllowAnyOrigin() .AllowAnyMethod() .AllowAnyHeader(); }); }); builder.Services.AddControllers(); var app = builder.Build(); app.UseCors("AllowAll"); app.MapControllers(); app.Run(); } } } using BooksServices.Models; using Microsoft.AspNetCore.Cors; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; namespace BooksServices.Controllers { [ApiController] [Route("api/[controller]")] public class BooksController : ControllerBase { static int idx = 0; [HttpGet] public IActionResult GetBooks() { List<Book> booksList = new List<Book>(); for (int i = 0; i < 10; i++) { ++idx; booksList.Add(new Book() { Id = idx, Name = $"Name_{idx}", ISBN = $"ISBN_{idx}_{Guid.NewGuid():N}", Content = $"Content_{idx}", PublishTime = $"{DateTime.UtcNow.Ticks}", Summary = $"Summary_{i}", Title = $"Title_{i}", Topic = $"Topic_{i}" }); } return Ok(booksList); } } }
Run the WebApplication


Microsoft.Hosting.Lifetime: Information: Now listening on: https://localhost:7236 Microsoft.Hosting.Lifetime: Information: Now listening on: http://localhost:5056 Microsoft.Hosting.Lifetime: Information: Application started. Press Ctrl+C to shut down. Microsoft.Hosting.Lifetime: Information: Hosting environment: Development Microsoft.Hosting.Lifetime: Information: Content root path: D:\C\BooksServices\BooksServices
Invoke the url
//url http://localhost:5056/api/books
2.Invoke the service via Powershell
curl.exe -k -X GET "http://localhost:5056/api/books"


3.Invoke in Chrome
http://localhost:5056/api/books

[{"id":1,"name":"Name_1","isbn":"ISBN_1_55d6550326804224a9da483aab118485","content":"Content_1","publishTime":"639004606064743061","summary":"Summary_0","title":"Title_0","topic":"Topic_0"},{"id":2,"name":"Name_2","isbn":"ISBN_2_673636d6e4ec4cec9b916ccb5423593e","content":"Content_2","publishTime":"639004606064745652","summary":"Summary_1","title":"Title_1","topic":"Topic_1"},{"id":3,"name":"Name_3","isbn":"ISBN_3_a7c7e59eb8c142e496bfff52ef22c8cd","content":"Content_3","publishTime":"639004606064745700","summary":"Summary_2","title":"Title_2","topic":"Topic_2"},{"id":4,"name":"Name_4","isbn":"ISBN_4_6bc2c89efe4e4c6698dff0a15759ad8d","content":"Content_4","publishTime":"639004606064745713","summary":"Summary_3","title":"Title_3","topic":"Topic_3"},{"id":5,"name":"Name_5","isbn":"ISBN_5_c2447b32cf494f1b91e96616a3df8165","content":"Content_5","publishTime":"639004606064745722","summary":"Summary_4","title":"Title_4","topic":"Topic_4"},{"id":6,"name":"Name_6","isbn":"ISBN_6_efea607812584cef84a3208da4d837fe","content":"Content_6","publishTime":"639004606064745742","summary":"Summary_5","title":"Title_5","topic":"Topic_5"},{"id":7,"name":"Name_7","isbn":"ISBN_7_aff6cc7ca2df4fb4b1dfcc6dcbfcb3cf","content":"Content_7","publishTime":"639004606064745750","summary":"Summary_6","title":"Title_6","topic":"Topic_6"},{"id":8,"name":"Name_8","isbn":"ISBN_8_4d0a9bcdd2b640f79491b3388cec8e61","content":"Content_8","publishTime":"639004606064745757","summary":"Summary_7","title":"Title_7","topic":"Topic_7"},{"id":9,"name":"Name_9","isbn":"ISBN_9_ae3e70d3906c4379a378ab6704e5a948","content":"Content_9","publishTime":"639004606064745764","summary":"Summary_8","title":"Title_8","topic":"Topic_8"},{"id":10,"name":"Name_10","isbn":"ISBN_10_893bd9e910314c7f986ed9b3cb17b297","content":"Content_10","publishTime":"639004606064745780","summary":"Summary_9","title":"Title_9","topic":"Topic_9"}]
[{"id":1,"name":"Name_1","isbn":"ISBN_1_55d6550326804224a9da483aab118485","content":"Content_1","publishTime":"639004606064743061","summary":"Summary_0","title":"Title_0","topic":"Topic_0"},{"id":2,"name":"Name_2","isbn":"ISBN_2_673636d6e4ec4cec9b916ccb5423593e","content":"Content_2","publishTime":"639004606064745652","summary":"Summary_1","title":"Title_1","topic":"Topic_1"},{"id":3,"name":"Name_3","isbn":"ISBN_3_a7c7e59eb8c142e496bfff52ef22c8cd","content":"Content_3","publishTime":"639004606064745700","summary":"Summary_2","title":"Title_2","topic":"Topic_2"},{"id":4,"name":"Name_4","isbn":"ISBN_4_6bc2c89efe4e4c6698dff0a15759ad8d","content":"Content_4","publishTime":"639004606064745713","summary":"Summary_3","title":"Title_3","topic":"Topic_3"},{"id":5,"name":"Name_5","isbn":"ISBN_5_c2447b32cf494f1b91e96616a3df8165","content":"Content_5","publishTime":"639004606064745722","summary":"Summary_4","title":"Title_4","topic":"Topic_4"},{"id":6,"name":"Name_6","isbn":"ISBN_6_efea607812584cef84a3208da4d837fe","content":"Content_6","publishTime":"639004606064745742","summary":"Summary_5","title":"Title_5","topic":"Topic_5"},{"id":7,"name":"Name_7","isbn":"ISBN_7_aff6cc7ca2df4fb4b1dfcc6dcbfcb3cf","content":"Content_7","publishTime":"639004606064745750","summary":"Summary_6","title":"Title_6","topic":"Topic_6"},{"id":8,"name":"Name_8","isbn":"ISBN_8_4d0a9bcdd2b640f79491b3388cec8e61","content":"Content_8","publishTime":"639004606064745757","summary":"Summary_7","title":"Title_7","topic":"Topic_7"},{"id":9,"name":"Name_9","isbn":"ISBN_9_ae3e70d3906c4379a378ab6704e5a948","content":"Content_9","publishTime":"639004606064745764","summary":"Summary_8","title":"Title_8","topic":"Topic_8"},{"id":10,"name":"Name_10","isbn":"ISBN_10_893bd9e910314c7f986ed9b3cb17b297","content":"Content_10","publishTime":"639004606064745780","summary":"Summary_9","title":"Title_9","topic":"Topic_9"}]
4.Invoke the service via Console Application
using System.Threading.Tasks; namespace ConsoleApp39 { internal class Program { static readonly HttpClient client = new HttpClient(); static async Task Main(string[] args) { string bookServicesUrl = "http://localhost:5056/api/books"; for(int i=0;i<10;i++) { await PrintBooks(bookServicesUrl); Console.WriteLine(); } Console.ReadLine(); } static async Task PrintBooks(string serverUrl) { var books = await client.GetStringAsync(serverUrl); Console.WriteLine(books); } } }



浙公网安备 33010602011771号