当前位置: 首页 > news >正文

C# WebAPI

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.jsqmd.com/news/479178/

相关文章:

  • 在Gazebo中为Husky机器人集成Livox激光雷达仿真
  • Ostrakon-VL-8B数据库课程设计项目:构建多媒体内容管理平台
  • LiuJuan20260223Zimage入门指南:Z-Image模型架构解析与LoRA注入原理简述
  • GaussDB数据库安全配置实战:gs_guc命令深度解析与应用指南
  • 工作总结-大模型使用
  • Leather Dress Collection 环境配置详解:Anaconda创建独立Python虚拟环境
  • 【UE5】多用户协同编辑实战:从零搭建到高效协作
  • 2026坠落防护行业生命线品牌推荐榜:导轨水平生命线系统/屋面垂直生命线/屋面水平生命线/水平生命线品牌/水平生命线国标/选择指南 - 优质品牌商家
  • AIGlasses OS Pro视觉算法优化:提升目标检测效率
  • Step3-VL-10B-Base与Python安装教程:环境配置与验证
  • 嵌入式Linux设备语音唤醒:Qwen3-ASR-0.6B轻量化移植实践
  • 实战派ESP32-C3/ESP32-S3开发板:从原型到产品的全功能物联网硬件解析
  • SCAU期末通关 - 计算机系统基础核心习题精讲
  • 3大核心功能实现工业管理效率优化:DoubleQoLMod-zh模组全解析
  • fio 磁盘I/O测试工具:从安装到实战性能调优
  • Qwen3.5-27B一文详解:transformers pipeline加载方式与accelerate device_map配置
  • Qwen2.5-1.5B惊艳效果展示:本地1024 tokens长文本生成真实对话集
  • 从零到一:基于Multisim的24小时多功能数字钟设计与仿真全解析
  • ANIMATEDIFF PRO实战案例:25秒生成16帧电影级动图的完整工作流
  • 如何为SAP GUI的ABAP编辑器打造个性化黑色主题
  • 实战指南:基于快马平台构建企业级openclaw机器人启动控制系统
  • nnUNet_v2实战:从零搭建Linux环境下的医学影像分割全流程
  • ESP32 Type-C PD电流表:高精度快充协议测试与功率监测
  • Science:多模态大模型LLMs如何重塑生物医学研究与精准医疗的未来?
  • YOLOv5数据增强中的透视变换参数解析——从矩阵构建到实际应用
  • 衡山派开发板I2C通信调试实战指南:RT-Thread与ArtInChip双驱动调试开关详解
  • 如何解决PyTorch程序在服务器上无法调用GPU的问题
  • ESP32-S3无损音频播放器硬件设计与嵌入式实现
  • 卡证检测模型实战:处理护照、港澳通行证等国际旅行证件
  • 绕过Google Play:获取Expo Go安卓APK的实用指南