C# WebAPI

news/2026/4/16 16:07:54/文章来源:https://www.cnblogs.com/Fred1987/p/19719067
Install-Package Swashbuckle.AspNetCore

 

namespace WebApplication1.Models
{public class Book{public int Id { get; set; }public string Name { get; set;  }public string ISBN { get; set;  }public string Author { get; set;  }public string Abstract {  get; set; }public string Comment { get; set;  }public string Content { get; set; }public string Summary { get; set;  }public string Title { get; set;  }public string Topic { get; set;  }}
}using WebApplication1.Models;namespace WebApplication1.Services
{public class BookService{static int Idx = 0;private int GetIdx(){return Interlocked.Increment(ref Idx);}public List<Book> GetBooksList(){List<Book> booksList=new List<Book>();for(int i=0;i<1000;i++){var idx=GetIdx();var bk = new Book(){Id=idx,Name=$"Name_{idx}",ISBN=$"ISBN_{idx}_{Guid.NewGuid():N}",Author=$"Author_{idx}",Abstract=$"Abstract_{idx}",Comment=$"Comment_{idx}",Content=$"Content_{idx}",Summary=$"Summary_{idx}",Title=$"Title_{idx}",Topic=$"Topic_{idx}"};booksList.Add(bk);}return booksList;}}
}using Microsoft.AspNetCore.Mvc;
using WebApplication1.Models;
using WebApplication1.Services;namespace WebApplication1.Controllers
{[ApiController][Route("api/[controller]")]public class BookController : Controller{private readonly BookService bkService;public BookController(BookService bkServiceValue){bkService = bkServiceValue;}[HttpGet][ProducesResponseType(StatusCodes.Status200OK)]public ActionResult<List<Book>> GetBooks(){var books = bkService.GetBooksList();return Ok(books);}[HttpGet("{id}")][ProducesResponseType(StatusCodes.Status200OK)][ProducesResponseType(StatusCodes.Status404NotFound)]public ActionResult<Book> GetBookById(int id){var books = bkService.GetBooksList();var bk=books.FirstOrDefault(x => x.Id == id);if(bk==null){return NotFound($"Can't find book whose ID is {id}");}return Ok(bk);}}
}using WebApplication1.Services;namespace WebApplication1
{public class Program{public static void Main(string[] args){var builder = WebApplication.CreateBuilder(args);// Add services to the container.
builder.Services.AddControllers();// Learn more about configuring OpenAPI at https://aka.ms/aspnet/openapi
            builder.Services.AddOpenApi();builder.Services.AddSingleton<BookService>();builder.Services.AddEndpointsApiExplorer();builder.Services.AddSwaggerGen();var app = builder.Build();// Configure the HTTP request pipeline.if (app.Environment.IsDevelopment()){app.MapOpenApi();app.UseSwagger();app.UseSwaggerUI();}app.UseHttpsRedirection();app.UseAuthorization();app.MapControllers();app.Run();}}
}

 

image

 

 

 

 

https://localhost:7205/api/book/9250

{"id": 9250,"name": "Name_9250","isbn": "ISBN_9250_3d940005204f46abb2bd3ced7e17b4a8","author": "Author_9250","abstract": "Abstract_9250","comment": "Comment_9250","content": "Content_9250","summary": "Summary_9250","title": "Title_9250","topic": "Topic_9250"
}

 

 

https://localhost:7205/api/book

image

 

 

 

image

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/1168434.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

USB免驱6D姿态传感器:台式机原生运动感知方案

1. 项目概述台式计算机长期缺乏原生姿态感知能力&#xff0c;这一硬件层面的缺失限制了人机交互的自然性与系统级响应的主动性。传统解决方案依赖外置摄像头或独立IMU模块&#xff0c;存在部署复杂、功耗高、隐私风险及驱动兼容性等问题。本项目提出一种嵌入式USB重力6D传感器方…

UVM寄存器模型实战指南 —— 从ralf文件到RAL model的生成与优化

1. 从零开始&#xff1a;为什么我们需要RALF文件和ralgen脚本&#xff1f; 如果你刚开始接触UVM验证&#xff0c;可能会觉得寄存器模型是个挺“玄乎”的东西。DUT&#xff08;待测设计&#xff09;里明明有一堆寄存器&#xff0c;我们写测试平台的时候&#xff0c;难道要一个个…

Windows 系统下 Helm 的两种主流安装方案对比与实践

1. 为什么 Windows 用户也需要 Helm&#xff1f; 如果你刚开始接触 Kubernetes&#xff0c;可能会觉得这玩意儿真酷&#xff0c;但随之而来的就是一堆 YAML 文件。部署一个稍微复杂点的应用&#xff0c;比如带 Web 前端、后端 API 和数据库的&#xff0c;你得分别写 Deployment…

如何用Go语言实现一个基于宏系统的解释器?

目录一、Go语言介绍二、什么是宏系统三、什么是解释器四、如何用Go语言实现一个基于宏系统的解释器&#xff1f;一、Go语言介绍 Go语言&#xff0c;又称为Golang&#xff0c;是一种由谷歌公司开发并开源的编程语言。Go语言的设计目标是提高程序员的生产力&#xff0c;同时具备…

小程序内嵌H5页面的如何交互?

目录一、微信小程序介绍二、什么是内嵌H5页面三、小程序内嵌H5页面的如何交互四、微信小程序的应用场景一、微信小程序介绍 微信小程序是一种基于微信平台的轻量级应用&#xff0c;它无需下载安装&#xff0c;用户只需通过微信扫一扫或搜索即可快速打开使用。与传统的APP相比&…

Science:多模态大模型LLMs如何重塑生物医学研究与精准医疗的未来?

1. 从“盲人摸象”到“全息成像”&#xff1a;多模态大模型如何理解生命 十年前&#xff0c;我刚开始接触生物信息学的时候&#xff0c;感觉就像在玩一个永远拼不完的巨型拼图。实验室的同事每天都能从测序仪里倒出海量的基因序列数据&#xff0c;隔壁组又在蛋白质质谱仪上看到…

如何为SAP GUI的ABAP编辑器打造个性化黑色主题

1. 为什么你需要一个黑色的ABAP编辑器&#xff1f; 如果你和我一样&#xff0c;每天有超过8个小时要盯着SAP GUI里的ABAP编辑器写代码、调试程序&#xff0c;那你一定对那个万年不变的“蓝底白字”或者“白底黑字”的默认主题感到审美疲劳&#xff0c;甚至眼睛酸痛。尤其是在深…

从零到一:基于Multisim的24小时多功能数字钟设计与仿真全解析

1. 从零开始&#xff1a;为什么选择Multisim来“造”一个数字钟&#xff1f; 嘿&#xff0c;朋友们&#xff0c;我是老张&#xff0c;一个在电子设计这行摸爬滚打了十多年的“老电工”。今天&#xff0c;咱们不聊那些高深莫测的理论&#xff0c;就来干一件特别有成就感的事儿—…