سلام
من یه پروژه دات نت کور نوشتم که پنل مدیریت داره با ی سری api ها. تو لوکال وقتی api هارو با پستمن تست میکنم کامل اجرا میشه. الان من پروژه رو پابلیش کردم بردم رو سرور. پنل مدیریتی از سرور اجرا میشه ولی api ها رو با پستمن از سیستم خودم که تست میکنم اصلا اجرا نمیشن. ای پی سرور رو هم درست وارد میکنم.
ممنون میشم کمک کنین
خب شما باید کدهایی کهنوشتید رو قرار بدید تا بشه علت رو بررسی کنیم. با توضیحات به تنهایی هیچ کمکی نمیشه کرد متاسفانه.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using ZabanBackend.Models;
using ZabanBackend.Models.Services;
using ZabanBackend.Models.UnitOfWork;
using ZabanBackend.Models.ViewModels;
namespace ZabanBackend.Areas.AdminPanel.Controllers
{
[Produces("application/json")]
[Route("api/AdviceApi")]
[Area("AdminPanel")]
public class AdviceApiController : Controller
{
private readonly IUnitOfWork _context;
public AdviceApiController(IUnitOfWork context)
{
_context = context;
}
//ذخیره سوال کاربر اپ در ذیتابیس
// api/AdviceApi
public IActionResult Create([FromBody] AdviceViewModel viewmodel)
{
//create
Advice model = new Advice();
model.AppUsersId = viewmodel.AppUserID;
model.Question = viewmodel.Question;
_context.AdviceRepositoryUW.Create(model);
_context.save();
return CreatedAtRoute("FindAdviceById", new { id = model.AdviceId }, model);
}
//نمایش یک مشاوره خاص
//api/AdviceApi/id
[HttpGet("{id}", Name = "FindAdviceById")]
public string GetAnswerById(int id)
{
var item = _context.AdviceRepositoryUW.GetById(id);
if (item == null)
{
NotFound();
}
return item.Answer;
}
[HttpPut("{id}")]
public IActionResult Update([FromBody] Advice model)
{
var query = _context.AdviceRepositoryUW.GetById(model.AdviceId);
if (query == null)
{
NotFound();
}
query.Seen = model.Seen;
_context.AdviceRepositoryUW.Update(query);
_context.save();
return NoContent();
}
}
}
ببینید بهتره در کنترلر خودتون به جای
[Route("api/AdviceApi")]
بنویسید
[Route("api/[controller]")]
در واقع مسیر رو کلی تعریف کنید.
در مرحله بعد در بالای کنترلر از دستور زیر هم استفاده کنید
[ApiController]
و در انتها هم بهتره که Api های خودتون رو در هیچ Area قرار ندید. همه WebApi ها رو بیارید در کنترلر اصلی پروژه. میتونید توی پوشه Controller اصلی پروژه یک پوشه جدید ایجاد کنید به نام ApiController و Api ها رو اونجا قرار بدید. مثل تصویر زیر
همه این موارد رو تست کنید اگر نشد و خطا داشتید یک بار حتما از لینکی که توی Postman قرار می دید و تنظیمات 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
- بازدید :
598
- پاسخ :
1
|