여러 매개 변수를 검색하기 위해 ASP .NET MVC4 웹 API를 만드는 방법

Andrus

ID, 바코드, 검색어로 제품을 검색하거나 날짜 이후 모든 제품을 검색 할 수있는 ASP.NET MVC4 json Web API를 만드는 방법은 무엇입니까?

아래에서 ASP.NET MVC4 컨트롤러를 사용해 보았습니다.

부름

http://localhost:52216/admin/api/Products/GetSince?since=2014-03-16%2021:47:29&_=1395007124964

오류를 반환

Multiple actions were found that match the request:

System.Net.Http.HttpResponseMessage GetSince(System.String) on type MyApp.Controllers.ProductsController\r\n


System.Net.Http.HttpResponseMessage GetId(System.String) on type MyApp.Controllers.ProductsController"

이 문제를 해결하는 방법? 이 코드는보기 흉해 보이며 유사한 메서드가 많이 포함되어 있습니다. 그러한 API를 만드는 가장 좋은 방법은 무엇입니까? 이 코드를 개선하는 방법은 무엇입니까? Http GET 메서드를 사용해야하지만 메서드 이름과 서명을 변경할 수 있습니다.

ASP.NET/Mono MVC4, jquery, jquery UI가 사용됩니다. Windows 2003 서버도 지원해야하므로 .NET 4.5 또는 MVC5를 사용할 수 없습니다.

public class ProductsController : ApiController
{
    [HttpGet]
    public HttpResponseMessage GetSince([FromUri]string since))
    {
        var toodelist = GetProducts(since, null, null, null);
        return Request.CreateResponse(HttpStatusCode.OK,
           new { products = toodelist.ToArray() });
    }

    [HttpGet]
    public HttpResponseMessage GetId([FromUri]string id)
    {
        var toodelist = GetProducts(null, null, id, null);
        return Request.CreateResponse(HttpStatusCode.OK,
           new { products = toodelist.ToArray() });
    }


    [HttpGet]
    public HttpResponseMessage GetBarcode([FromUri]string barcode)
    {
        var toodelist = GetProducts(null, barcode, null, null);
        return Request.CreateResponse(HttpStatusCode.OK,
           new { products = toodelist.ToArray() });
    }

    [HttpGet]
    public HttpResponseMessage GetTerm([FromUri]string term)
    {
        var toodelist = GetProducts(null, null, null, term);
        return Request.CreateResponse(HttpStatusCode.OK,
           new { products = toodelist.ToArray() });
    }

    static List<Product> GetProducts(string since, string barcode, string id, string term)
    {
        ... retrieves list of product from database using specified search criteria
        if not null
    }
}
바 드리

이와 같은 검색 기준 DTO를 사용하는 것은 어떻습니까?

public class SearchCriteria
{
    public int? Id { get; set; }
    public DateTime? Since { get; set; }
    // Other properties
}

동작 방법은 다음과 같습니다.

public class ProductsController : ApiController
{
    public HttpResponseMessage GetProducts([FromUri]SearchCriteria crit))
    {
        // Validate and clean crit object
        var list = GetProducts(crit);
        // return list
    }
}

GetProductsSearchCriteria개체에 설정된 속성을 기반으로 제품 목록을 반환 할 수 있습니다 . 쿼리 문자열 필드가없는 경우 해당 속성은 null입니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

asp.net mvc4에서 일반 매개 변수로 일반 기본 컨트롤러를 만드는 방법

분류에서Dev

asp.net mvc4에서 일반 매개 변수로 일반 기본 컨트롤러를 만드는 방법

분류에서Dev

PHP에서 검색하기 위해 배열에 여러 검색 매개 변수를 전달하는 방법

분류에서Dev

웹 API를 사용하여 여러 매개 변수를 전달하는 방법

분류에서Dev

asp.net 웹 API 2에 쿼리 문자열 매개 변수를 전달하는 방법

분류에서Dev

C # Nest Elasticsearch : 여러 매개 변수를 검색하는 방법

분류에서Dev

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

분류에서Dev

웹 API 서비스를 휴식하기 위해 매개 변수 json 목록을 취하는 방법

분류에서Dev

asp.net MVC4에서 웹 API URL에 대한 일반적인 방법을 만드는 방법

분류에서Dev

Neo4j + 볼트 + c #; 지도를 매개 변수로 전달하여 하나의 쿼리를 통해 여러 노드를 만드는 방법

분류에서Dev

양식에서 값을 검색하고 asp.net mvc4를 사용하여 모달 상자에 삽입하는 방법

분류에서Dev

ASP.NET MVC에서 routeValue 매개 변수를 사용하여 컨트롤러 작업을 호출하는 방법

분류에서Dev

ASP.NET MVC API에서 쿼리 문자열 매개 변수를 사용하는 방법

분류에서Dev

ASP.NET 웹 API에서 GET 매개 변수를 가져 오는 방법은 무엇입니까?

분류에서Dev

ASP.NET 웹 API에서 GET 매개 변수를 가져 오는 방법은 무엇입니까?

분류에서Dev

여러 번 실행하기 위해 Java에서 매개 변수로 함수를 전달하는 방법

분류에서Dev

웹 API에 여러 매개 변수를 전달하는 방법은 무엇입니까?

분류에서Dev

GA API를 사용하여 UTM 매개 변수를 검색하는 방법

분류에서Dev

컨트롤러의 여러 작업에 동일한 매개 변수를 전달하는 MVC4

분류에서Dev

ASP.NET Core 3.0에서 ValidationAttribute를 사용하여 여러 작업 매개 변수의 유효성을 검사하는 방법

분류에서Dev

asp.net mvc4에서 배경 이미지를 설정하는 방법

분류에서Dev

asp.net MVC4에서 ajax를 활성화하는 방법

분류에서Dev

웹 API2에 매개 변수를 전달하는 방법

분류에서Dev

mvc4 웹 API 컨트롤러를 사용하여 둘 이상의 Get 메서드를 호출하는 방법

분류에서Dev

파이썬의 입력 매개 변수로 ASP.net 웹 APi를 호출하는 방법은 무엇입니까?

분류에서Dev

ASP.NET MVC View에서 Controller로 JSON 개체를 매개 변수로 전달하는 방법

분류에서Dev

URL의 여러 매개 변수를 iOS의 웹보기에 전달하는 방법은 무엇입니까?

분류에서Dev

ASP.NET에서 기본 매개 변수를 설정하는 방법

분류에서Dev

ASP.NET MVC. 매개 변수를 기반으로 필수 검증을 비활성화하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    asp.net mvc4에서 일반 매개 변수로 일반 기본 컨트롤러를 만드는 방법

  2. 2

    asp.net mvc4에서 일반 매개 변수로 일반 기본 컨트롤러를 만드는 방법

  3. 3

    PHP에서 검색하기 위해 배열에 여러 검색 매개 변수를 전달하는 방법

  4. 4

    웹 API를 사용하여 여러 매개 변수를 전달하는 방법

  5. 5

    asp.net 웹 API 2에 쿼리 문자열 매개 변수를 전달하는 방법

  6. 6

    C # Nest Elasticsearch : 여러 매개 변수를 검색하는 방법

  7. 7

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

  8. 8

    웹 API 서비스를 휴식하기 위해 매개 변수 json 목록을 취하는 방법

  9. 9

    asp.net MVC4에서 웹 API URL에 대한 일반적인 방법을 만드는 방법

  10. 10

    Neo4j + 볼트 + c #; 지도를 매개 변수로 전달하여 하나의 쿼리를 통해 여러 노드를 만드는 방법

  11. 11

    양식에서 값을 검색하고 asp.net mvc4를 사용하여 모달 상자에 삽입하는 방법

  12. 12

    ASP.NET MVC에서 routeValue 매개 변수를 사용하여 컨트롤러 작업을 호출하는 방법

  13. 13

    ASP.NET MVC API에서 쿼리 문자열 매개 변수를 사용하는 방법

  14. 14

    ASP.NET 웹 API에서 GET 매개 변수를 가져 오는 방법은 무엇입니까?

  15. 15

    ASP.NET 웹 API에서 GET 매개 변수를 가져 오는 방법은 무엇입니까?

  16. 16

    여러 번 실행하기 위해 Java에서 매개 변수로 함수를 전달하는 방법

  17. 17

    웹 API에 여러 매개 변수를 전달하는 방법은 무엇입니까?

  18. 18

    GA API를 사용하여 UTM 매개 변수를 검색하는 방법

  19. 19

    컨트롤러의 여러 작업에 동일한 매개 변수를 전달하는 MVC4

  20. 20

    ASP.NET Core 3.0에서 ValidationAttribute를 사용하여 여러 작업 매개 변수의 유효성을 검사하는 방법

  21. 21

    asp.net mvc4에서 배경 이미지를 설정하는 방법

  22. 22

    asp.net MVC4에서 ajax를 활성화하는 방법

  23. 23

    웹 API2에 매개 변수를 전달하는 방법

  24. 24

    mvc4 웹 API 컨트롤러를 사용하여 둘 이상의 Get 메서드를 호출하는 방법

  25. 25

    파이썬의 입력 매개 변수로 ASP.net 웹 APi를 호출하는 방법은 무엇입니까?

  26. 26

    ASP.NET MVC View에서 Controller로 JSON 개체를 매개 변수로 전달하는 방법

  27. 27

    URL의 여러 매개 변수를 iOS의 웹보기에 전달하는 방법은 무엇입니까?

  28. 28

    ASP.NET에서 기본 매개 변수를 설정하는 방법

  29. 29

    ASP.NET MVC. 매개 변수를 기반으로 필수 검증을 비활성화하는 방법은 무엇입니까?

뜨겁다태그

보관