Angular http://localhost/BTSWEBVCCAdmin3.0/api/v1/ViewTicketPhotos/GetPhotos?iInstanceID=6992609 404 (не найдено) - PullRequest
0 голосов
/ 07 мая 2020

Я получаю ответ об ошибке HTTP, я не понимаю, почему, потому что api работает, я проверил swagger / curl, и это не моя первая служба, все остальные работают нормально

angular сервис:

export class TicketPhotosService {

 constructor(private http: HttpClient) { }



getTicketPhotos(iInstanceID: string): Observable<TicketPhoto[]> {
return this.http.get<TicketPhoto[]>(`${environment.url}api/v1/ViewTicketPhotos/GetPhotos`,
 { withCredentials: true, responseType: 'json',
 params: {
  iInstanceID
 }})
 .pipe(
  catchError((err, caught) => {
    throw ErrorResponseUtil.build(err);
  })
);
}

Conrtoller:

[Route("api/v1/[controller]")]
[ApiController]
public class ViewTicketPhotosConrtoller : BTSWebVCCAdminBaseController
{

    IBALVccDefinitions _balVccDefinition;
    private IHostingEnvironment _hostingEnvironment;

    public ViewTicketPhotosConrtoller(IHttpContextAccessor contextAccessor, ISetting setting, ISecurity security, ILogging logging, IBal bal, IBalEmployee balEmployee, IBALVccDefinitions balVccDefinition, IWeb web, IDotNet dotNet, IDistributedCache distributedCache, ICache cache, IText text, IViewRender viewRenderService, IHostingEnvironment hostingEnvironment) 
        : base(contextAccessor, setting, security, logging, bal, balEmployee, web, dotNet, distributedCache, cache, text, viewRenderService, hostingEnvironment)
    {
        _balVccDefinition = balVccDefinition;
        _hostingEnvironment = hostingEnvironment;
    }




    [HttpGet("GetPhotos")]
    [BTSFilter(useMaintenanceFilter: true, useAuthentificationFilter: true, useCultureFilter: true, useLogAccessFilter: true, useSessionExpiredFilter: true, usePermissionApplicationFilter: false, usePermissionOptionFilter: true)]
    [EnableCors]
    public async Task<IActionResult> Get(string iInstanceID)
    {
        try
        {
            return Ok(GetImagePath(_balVccDefinition.GetImagesByQuestionnaireInstanceID(iInstanceID)));
        }
        catch (Exception ex)
        {
            var error = Logging.LogErrorWeb(ex, HttpContext);
            return StatusCode(StatusCodes.Status500InternalServerError, new { error, message = "" });
        }
    }

image fom curl here

Ответы [ 2 ]

0 голосов
/ 07 мая 2020

на самом деле это имя Controller, я неправильно написал :( спасибо -

0 голосов
/ 07 мая 2020

В вашем запросе Swagger у вас есть .../ViewTicketPhotosConrtoller/..., а служба Angular просто .../ViewTicketPhotos/...

...