How do I use Dictionary as a parameter with the GET method in Web API?










0















Here is the URL I've tried so far:



url/api/items?created[gte]=1&created[lte]=1


And this is the GET method:



[HttpGet]
[Route("api/items")]
public IHttpActionResult GetItems([FromUri]Dictionary<string, int> created)

var message = created["gte"];
return Ok(""+message);



I am unable to access get data from the query parameter.










share|improve this question
























  • Welcome to stackoverflow. Please take a minute to take the tour, especially How to Ask, and edit your question accordingly.

    – JohnB
    Nov 16 '18 at 5:24











  • I updated the question please look at it

    – Simon Simu
    Nov 16 '18 at 6:03











  • Why do you want to get using Dictionary parameters?

    – Mustafa Tığ
    Nov 16 '18 at 6:07












  • if created[lt] = 1 then I will retrieve data created before the passed created date and if created[gt] = 1 then i will retrieve data created after the passed created date and similary if created[gte] = 1 I will retrieve data greater than equal to created date, if created[lte]=1 I will retrieve data less than or equal to created date

    – Simon Simu
    Nov 16 '18 at 6:17
















0















Here is the URL I've tried so far:



url/api/items?created[gte]=1&created[lte]=1


And this is the GET method:



[HttpGet]
[Route("api/items")]
public IHttpActionResult GetItems([FromUri]Dictionary<string, int> created)

var message = created["gte"];
return Ok(""+message);



I am unable to access get data from the query parameter.










share|improve this question
























  • Welcome to stackoverflow. Please take a minute to take the tour, especially How to Ask, and edit your question accordingly.

    – JohnB
    Nov 16 '18 at 5:24











  • I updated the question please look at it

    – Simon Simu
    Nov 16 '18 at 6:03











  • Why do you want to get using Dictionary parameters?

    – Mustafa Tığ
    Nov 16 '18 at 6:07












  • if created[lt] = 1 then I will retrieve data created before the passed created date and if created[gt] = 1 then i will retrieve data created after the passed created date and similary if created[gte] = 1 I will retrieve data greater than equal to created date, if created[lte]=1 I will retrieve data less than or equal to created date

    – Simon Simu
    Nov 16 '18 at 6:17














0












0








0








Here is the URL I've tried so far:



url/api/items?created[gte]=1&created[lte]=1


And this is the GET method:



[HttpGet]
[Route("api/items")]
public IHttpActionResult GetItems([FromUri]Dictionary<string, int> created)

var message = created["gte"];
return Ok(""+message);



I am unable to access get data from the query parameter.










share|improve this question
















Here is the URL I've tried so far:



url/api/items?created[gte]=1&created[lte]=1


And this is the GET method:



[HttpGet]
[Route("api/items")]
public IHttpActionResult GetItems([FromUri]Dictionary<string, int> created)

var message = created["gte"];
return Ok(""+message);



I am unable to access get data from the query parameter.







c# asp.net-web-api






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 16 '18 at 6:20









Peter Mortensen

13.8k1987113




13.8k1987113










asked Nov 16 '18 at 4:50









Simon SimuSimon Simu

61




61












  • Welcome to stackoverflow. Please take a minute to take the tour, especially How to Ask, and edit your question accordingly.

    – JohnB
    Nov 16 '18 at 5:24











  • I updated the question please look at it

    – Simon Simu
    Nov 16 '18 at 6:03











  • Why do you want to get using Dictionary parameters?

    – Mustafa Tığ
    Nov 16 '18 at 6:07












  • if created[lt] = 1 then I will retrieve data created before the passed created date and if created[gt] = 1 then i will retrieve data created after the passed created date and similary if created[gte] = 1 I will retrieve data greater than equal to created date, if created[lte]=1 I will retrieve data less than or equal to created date

    – Simon Simu
    Nov 16 '18 at 6:17


















  • Welcome to stackoverflow. Please take a minute to take the tour, especially How to Ask, and edit your question accordingly.

    – JohnB
    Nov 16 '18 at 5:24











  • I updated the question please look at it

    – Simon Simu
    Nov 16 '18 at 6:03











  • Why do you want to get using Dictionary parameters?

    – Mustafa Tığ
    Nov 16 '18 at 6:07












  • if created[lt] = 1 then I will retrieve data created before the passed created date and if created[gt] = 1 then i will retrieve data created after the passed created date and similary if created[gte] = 1 I will retrieve data greater than equal to created date, if created[lte]=1 I will retrieve data less than or equal to created date

    – Simon Simu
    Nov 16 '18 at 6:17

















Welcome to stackoverflow. Please take a minute to take the tour, especially How to Ask, and edit your question accordingly.

– JohnB
Nov 16 '18 at 5:24





Welcome to stackoverflow. Please take a minute to take the tour, especially How to Ask, and edit your question accordingly.

– JohnB
Nov 16 '18 at 5:24













I updated the question please look at it

– Simon Simu
Nov 16 '18 at 6:03





I updated the question please look at it

– Simon Simu
Nov 16 '18 at 6:03













Why do you want to get using Dictionary parameters?

– Mustafa Tığ
Nov 16 '18 at 6:07






Why do you want to get using Dictionary parameters?

– Mustafa Tığ
Nov 16 '18 at 6:07














if created[lt] = 1 then I will retrieve data created before the passed created date and if created[gt] = 1 then i will retrieve data created after the passed created date and similary if created[gte] = 1 I will retrieve data greater than equal to created date, if created[lte]=1 I will retrieve data less than or equal to created date

– Simon Simu
Nov 16 '18 at 6:17






if created[lt] = 1 then I will retrieve data created before the passed created date and if created[gt] = 1 then i will retrieve data created after the passed created date and similary if created[gte] = 1 I will retrieve data greater than equal to created date, if created[lte]=1 I will retrieve data less than or equal to created date

– Simon Simu
Nov 16 '18 at 6:17













1 Answer
1






active

oldest

votes


















0














You can update the method like this:



[HttpGet("api/items")]
public IActionResult GetItems(Dictionary<string, int> created)

return Ok(created);



[HttpGet] also supports for Route.



In the url:




https://localhost:44392/api/items?created.key1=1&created.key2=2&created.key3=3




And the result in the page:



"key1":1,"key2":2,"key3":3


Syntax: created.key1=1



  • created: This requires a name which matches with the parameter name we typed in the method.


  • created.key1: We create new key in this dictionary, and the key name is key1.


  • created.key1=1: We define the value of the key. This value is 1.


  • &created.key2=2: We continue to add new key to the dictionary with the key is key2, and the value is 2


... same to &created.key3=3






share|improve this answer
























    Your Answer






    StackExchange.ifUsing("editor", function ()
    StackExchange.using("externalEditor", function ()
    StackExchange.using("snippets", function ()
    StackExchange.snippets.init();
    );
    );
    , "code-snippets");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "1"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53331636%2fhow-do-i-use-dictionary-as-a-parameter-with-the-get-method-in-web-api%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    You can update the method like this:



    [HttpGet("api/items")]
    public IActionResult GetItems(Dictionary<string, int> created)

    return Ok(created);



    [HttpGet] also supports for Route.



    In the url:




    https://localhost:44392/api/items?created.key1=1&created.key2=2&created.key3=3




    And the result in the page:



    "key1":1,"key2":2,"key3":3


    Syntax: created.key1=1



    • created: This requires a name which matches with the parameter name we typed in the method.


    • created.key1: We create new key in this dictionary, and the key name is key1.


    • created.key1=1: We define the value of the key. This value is 1.


    • &created.key2=2: We continue to add new key to the dictionary with the key is key2, and the value is 2


    ... same to &created.key3=3






    share|improve this answer





























      0














      You can update the method like this:



      [HttpGet("api/items")]
      public IActionResult GetItems(Dictionary<string, int> created)

      return Ok(created);



      [HttpGet] also supports for Route.



      In the url:




      https://localhost:44392/api/items?created.key1=1&created.key2=2&created.key3=3




      And the result in the page:



      "key1":1,"key2":2,"key3":3


      Syntax: created.key1=1



      • created: This requires a name which matches with the parameter name we typed in the method.


      • created.key1: We create new key in this dictionary, and the key name is key1.


      • created.key1=1: We define the value of the key. This value is 1.


      • &created.key2=2: We continue to add new key to the dictionary with the key is key2, and the value is 2


      ... same to &created.key3=3






      share|improve this answer



























        0












        0








        0







        You can update the method like this:



        [HttpGet("api/items")]
        public IActionResult GetItems(Dictionary<string, int> created)

        return Ok(created);



        [HttpGet] also supports for Route.



        In the url:




        https://localhost:44392/api/items?created.key1=1&created.key2=2&created.key3=3




        And the result in the page:



        "key1":1,"key2":2,"key3":3


        Syntax: created.key1=1



        • created: This requires a name which matches with the parameter name we typed in the method.


        • created.key1: We create new key in this dictionary, and the key name is key1.


        • created.key1=1: We define the value of the key. This value is 1.


        • &created.key2=2: We continue to add new key to the dictionary with the key is key2, and the value is 2


        ... same to &created.key3=3






        share|improve this answer















        You can update the method like this:



        [HttpGet("api/items")]
        public IActionResult GetItems(Dictionary<string, int> created)

        return Ok(created);



        [HttpGet] also supports for Route.



        In the url:




        https://localhost:44392/api/items?created.key1=1&created.key2=2&created.key3=3




        And the result in the page:



        "key1":1,"key2":2,"key3":3


        Syntax: created.key1=1



        • created: This requires a name which matches with the parameter name we typed in the method.


        • created.key1: We create new key in this dictionary, and the key name is key1.


        • created.key1=1: We define the value of the key. This value is 1.


        • &created.key2=2: We continue to add new key to the dictionary with the key is key2, and the value is 2


        ... same to &created.key3=3







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Nov 16 '18 at 6:37

























        answered Nov 16 '18 at 6:32









        FooFoo

        1




        1





























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53331636%2fhow-do-i-use-dictionary-as-a-parameter-with-the-get-method-in-web-api%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Top Tejano songwriter Luis Silva dead of heart attack at 64

            ReactJS Fetched API data displays live - need Data displayed static

            Evgeni Malkin