با سلام و احترام
من میخوام یک web api بدون استفاده از دیتابیس کد نویسی کنم برای این کار مراحل زیر را انجام دادم ...
1. ابتدا یک پروسیجر به شکل زیر نوشتم :
Create Procedure[dbo].[UsersPerdays]
@IdentityNo varchar(11)
AS
BEGIN
SET NOCOUNT ON;
SELECT
UserInfID,
FullName,
PersonnelNo,
IdentityNo,
MobileNo,
EmailAdd,
DepartmentID,
RegDate
FROM Users
END
2. سپس یک پروژه ایجاد کردم در قسمت appsettings کانکشن را تعریف کرده و در قسمت startup نیز این کد را نوشتم .
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(
Configuration.GetConnectionString("DefaultConnection")));
3. یک مدل تعریف نمودم
4. در قسمت کنترلر پوشه ای بنام ApiController تعریف نموده و سپس یک api contoroller ایجاد نمودم و به شکل زیر کد نویسی را انجام دادم
namespace KMCClub.WebApi.Controllers.WebApi
{
[Route("api/[controller]")]
[ApiController]
[Produces("application/json")]
public class UsersApiController : Controller
{
private readonly ApplicationDbContext context;
public UsersApiController(ApplicationDbContext _context)
{
context = _context;
}
//GET: api/UsersApi
public async Task<IActionResult> Index(string identityNo)
{
var model = await GetUserPerDay(identityNo);
return Ok(model);
}
//api/UsersApi
[HttpGet("{identityNo}")]
public async Task<IEnumerable<UserViewModels>> GetUserPerDay(string identityNo)
{
SqlConnection connection = null;
SqlCommand command = null;
var model = new List<UserViewModels>();
try
{
connection = context.Database.GetDbConnection() as SqlConnection;
command = new SqlCommand("dbo.UsersPerdays")
{
CommandType = CommandType.StoredProcedure,
Connection = connection
};
command.Parameters.Add(new SqlParameter("@IdentityNo", identityNo));
if (connection.State != ConnectionState.Open)
await connection.OpenAsync();
using var reader = await command.ExecuteReaderAsync();
while (await reader.ReadAsync())
{
model.Add(new UserViewModels
{
UserInfId = reader.GetInt32(reader.GetOrdinal("UserInfId")),
FullName = reader.GetString(reader.GetOrdinal("FullName")),
PersonnelNo = reader.GetString(reader.GetOrdinal("PersonnelNo")),
IdentityNo = reader.GetString(reader.GetOrdinal("IdentityNo")),
MobileNo = reader.GetString(reader.GetOrdinal("MobileNo")),
EmailAdd = reader.GetString(reader.GetOrdinal("EmailAdd")),
DepartmentId = reader.GetInt32(reader.GetOrdinal("DepartmentId")),
RegDate = reader.GetDateTime(reader.GetOrdinal("RegDate")),
UserName = reader.GetString(reader.GetOrdinal("UserName")),
PassWord = reader.GetString(reader.GetOrdinal("PassWord"))
});
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (command != null)
{
command.Dispose();
}
if (connection.State != ConnectionState.Closed)
{
connection.Close();
connection.Dispose();
}
}
return model;
}
}
}
اما وقتی در نرم افزار post man آن را چک می کنم با خطای زیر مواجه میشوم .
همچنین در قسمت ApplicationDbContext نیز کد زیر را تعریف نموده ام .
public DbSet<Users> Users { get; set; }
public DbSet<UserViewModels> UserViewModels { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Users>(entity =>
{
entity.Property(e => e.UserInfId);
entity.Property(e => e.FullName);
entity.Property(e => e.PersonnelNo);
entity.Property(e => e.IdentityNo);
entity.Property(e => e.MobileNo);
entity.Property(e => e.EmailAdd);
entity.Property(e => e.DepartmentId);
entity.Property(e => e.RegDate);
entity.Property(e => e.UserName);
entity.Property(e => e.PassWord);
});
}
خطایی که شما در نرم افزار Postman دریافت می کنید خطای زیر هست.
Could not get any Response
شما باید به دنبال رفع این خطا باشید. این خطا هم میگه هیچ پاسخی از سمت Server نمیتونه دریافت کنه.
مراحل زیر رو انجام بدید:
اول گزینه Setting رو بزنید.
حالا مطابق شکل از سربرگ General گزینه SSL رو off کنید.
حالا به سربرگ Proxy برید و گزینه های مشخص شده رو off کنید.
مجددا به سربرگ General برید و Timeout رو 0 قرار بدید.
حالا مجدد تست کنید احتمال زیاد باید درست شده باشه. راه حل های بیشتر در لینک زیر
Could not get any Response in Postman
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
78
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
109
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1034
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
430
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1356
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4800
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
215
- پاسخ :
1
|
تاریخ :
1403/07/26
- ساعت :
09:00:00 PM
- بازدید :
117
- پاسخ :
0
|
تاریخ :
1403/05/16
- ساعت :
09:57:00 AM
- بازدید :
397
- پاسخ :
2
|
تاریخ :
1403/06/25
- ساعت :
11:39:00 PM
- بازدید :
568
- پاسخ :
1
|
تاریخ :
1401/02/24
- ساعت :
02:17:00 PM
- بازدید :
2013
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
78
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
109
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1034
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
430
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
931
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1356
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4800
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1161
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
599
- پاسخ :
1
|