null 값으로 중단되는 선택적 매개 변수 라우팅 규칙이있는 .Net 코어 MVC 컨트롤러

지빈 매튜

.net 코어 앱에서 Wirking 및 시작 설정은 다음과 같습니다.

        app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");
        });
       
    

커스텀 컨트롤러가 있으며 컨트롤러의 정의는 다음과 같습니다.

[Route("Purchase")]
public class InvoiceController : Controller
{
    [HttpGet("{identifier}/{itemsCount}/overview")]
    public async Task<IActionResult> GetInvoiceOverview(string identifier,int itemsCount)
    { 
        A call to url like this //https://localhost:44320/invoice/20210209-0035/20/overview/  

        is working correctly and getting param values as 

        identifier=20210209-0035
        itemsCount=20
        
    }   
}

이 목록에 하나 이상의 선택적 매개 변수를 추가하려고하는데 새 작업 정의는 다음과 같습니다.

    [HttpGet("{identifier}/{itemsCount}/{pagesize?}/overview")]
    public async Task<IActionResult> GetInvoiceOverview(string identifier,int itemsCount,string pagesize=null)
    { 
        
    }
         

이 ruting 규칙은 아래 https : // localhost : 44320 / invoice / 20210209-0035 / 20 / 11 / overview /와 같이 pagesize의 모든 null이 아닌 값에 대해 작동하는 것 같습니다.

        identifier=20210209-0035
        itemsCount=20
        pagesize=11     

그러나 pagesize의 null 값으로 호출을 시도하면 응용 프로그램이 404 페이지를 찾을 수 없음
이 URL을 반환합니다 . https : // localhost : 44320 / invoice / 20210209-0035 / 20 / overview / => 404

그 이유는 무엇일까요?

세르게이

2 개의 속성 경로를 사용해 볼 수 있습니다.

[HttpGet("~/invoice/{identifier}/{itemsCount}/overview")]
[HttpGet("~/invoice/{identifier}/{itemsCount}/{pagesize:int}/overview")] //:int is optional
public async Task<IActionResult> GetInvoiceOverview(string identifier, int itemsCount, int?  pagesize)
{
            ....
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

매개 변수에없는 선택적 ID가있는 라우팅 컨트롤러

분류에서Dev

AngularJS : 선택적 매개 변수가있는 URL로 라우팅

분류에서Dev

MVC 컨트롤러 매개 변수는 항상 null입니다.

분류에서Dev

매개 변수로 영역이있는 asp.net mvc 라우팅

분류에서Dev

컨트롤러가있는 경우 (선택적 작업없이) 컨트롤러로 라우팅 한 다음 기본 경로로 폴백하도록 ASP.NET Core 라우팅을 구성하려면 어떻게해야합니까?

분류에서Dev

MVC 컨트롤러에서 매개 변수가있는 데이터베이스 '선택'저장 프로 시저를 어떻게 호출합니까?

분류에서Dev

Flask-여러 선택적 매개 변수가있는 라우팅

분류에서Dev

Laravel 라우트 선택적 매개 변수를 컨트롤러로

분류에서Dev

동적 선택적 매개 변수가있는 Symfony 라우팅

분류에서Dev

ASP.NET MVC 컨트롤러 매개 변수에서 밀리 초를 DateTime으로 변환하는 방법

분류에서Dev

선택적 매개 변수가있는 Rails 4 라우팅?

분류에서Dev

MVC 컨트롤러 메서드에 'null 매개 변수를 전달하는 JQuery

분류에서Dev

null 또는 비어 있음 vs 매개 변수 없음-선택적 매개 변수로 API 호출

분류에서Dev

Null 값에 대한 C # 단위 테스트 MVC 컨트롤러 작업 매개 변수

분류에서Dev

MVC 5 라우팅 및 선택적 매개 변수

분류에서Dev

asp.net 코어를 사용하는 컨트롤러 및 라우팅 문제

분류에서Dev

ASP.NET Core MVC 컨트롤러는 ajax 호출에서 입력 매개 변수에 대해 null을받습니다.

분류에서Dev

여러 선택적 매개 변수가있는 Angular UI 라우터

분류에서Dev

여러 선택적 매개 변수가있는 Laravel 경로

분류에서Dev

여러 선택적 매개 변수가있는 Symfony 경로

분류에서Dev

ASP Net 코어 컨트롤러 URL 매개 변수

분류에서Dev

angular2 라우팅 중 선택적 매개 변수

분류에서Dev

선택적 매개 변수가 특정 값으로 제공되는 경우 'never'유형을 반환합니다.

분류에서Dev

MVC 다중 매개 변수 라우팅

분류에서Dev

다중 매개 변수 MVC 라우팅

분류에서Dev

@ Url.RouteUrl을 사용하는 매개 변수로 MVC 5 라우팅

분류에서Dev

asp.net 코어 라우팅-슬래시를 포함하는 URL 매개 변수 가져 오기

분류에서Dev

요청을 메소드 매개 변수로 라우팅하도록 Web API 컨트롤러를 설정하는 방법은 무엇입니까?

분류에서Dev

요청을 메소드 매개 변수로 라우팅하도록 Web API 컨트롤러를 설정하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    매개 변수에없는 선택적 ID가있는 라우팅 컨트롤러

  2. 2

    AngularJS : 선택적 매개 변수가있는 URL로 라우팅

  3. 3

    MVC 컨트롤러 매개 변수는 항상 null입니다.

  4. 4

    매개 변수로 영역이있는 asp.net mvc 라우팅

  5. 5

    컨트롤러가있는 경우 (선택적 작업없이) 컨트롤러로 라우팅 한 다음 기본 경로로 폴백하도록 ASP.NET Core 라우팅을 구성하려면 어떻게해야합니까?

  6. 6

    MVC 컨트롤러에서 매개 변수가있는 데이터베이스 '선택'저장 프로 시저를 어떻게 호출합니까?

  7. 7

    Flask-여러 선택적 매개 변수가있는 라우팅

  8. 8

    Laravel 라우트 선택적 매개 변수를 컨트롤러로

  9. 9

    동적 선택적 매개 변수가있는 Symfony 라우팅

  10. 10

    ASP.NET MVC 컨트롤러 매개 변수에서 밀리 초를 DateTime으로 변환하는 방법

  11. 11

    선택적 매개 변수가있는 Rails 4 라우팅?

  12. 12

    MVC 컨트롤러 메서드에 'null 매개 변수를 전달하는 JQuery

  13. 13

    null 또는 비어 있음 vs 매개 변수 없음-선택적 매개 변수로 API 호출

  14. 14

    Null 값에 대한 C # 단위 테스트 MVC 컨트롤러 작업 매개 변수

  15. 15

    MVC 5 라우팅 및 선택적 매개 변수

  16. 16

    asp.net 코어를 사용하는 컨트롤러 및 라우팅 문제

  17. 17

    ASP.NET Core MVC 컨트롤러는 ajax 호출에서 입력 매개 변수에 대해 null을받습니다.

  18. 18

    여러 선택적 매개 변수가있는 Angular UI 라우터

  19. 19

    여러 선택적 매개 변수가있는 Laravel 경로

  20. 20

    여러 선택적 매개 변수가있는 Symfony 경로

  21. 21

    ASP Net 코어 컨트롤러 URL 매개 변수

  22. 22

    angular2 라우팅 중 선택적 매개 변수

  23. 23

    선택적 매개 변수가 특정 값으로 제공되는 경우 'never'유형을 반환합니다.

  24. 24

    MVC 다중 매개 변수 라우팅

  25. 25

    다중 매개 변수 MVC 라우팅

  26. 26

    @ Url.RouteUrl을 사용하는 매개 변수로 MVC 5 라우팅

  27. 27

    asp.net 코어 라우팅-슬래시를 포함하는 URL 매개 변수 가져 오기

  28. 28

    요청을 메소드 매개 변수로 라우팅하도록 Web API 컨트롤러를 설정하는 방법은 무엇입니까?

  29. 29

    요청을 메소드 매개 변수로 라우팅하도록 Web API 컨트롤러를 설정하는 방법은 무엇입니까?

뜨겁다태그

보관