ASP.NET CORE 1.1 API REST,在POST请求中,参数始终为null

时间:2017-01-21 17:49:48

标签: c# asp.net asp.net-core asp.net-core-webapi

在我的方法中,param总是为空,但任何其他请求类型(get,put,delete)都不会发生。

此问题恰好发生在请求类型POST中。

这是我的方法

    [HttpPost]
    public IActionResult Post([FromBody]Dificuldade value)
    {

        if (value == null)
        {
            return BadRequest();
        }

        return CreatedAtRoute("Get", new { id = value.Id }, value);
    }

这是我的模特

 public class Dificuldade
 {
    public int Id { get; set; }

    //Pessoa pela qual passa difilcudade ou relatou o problema
    public string NomePessoa { get; set; }

    public string Latitude { get; set; }

    public string Longetude { get; set; }

    //Descricao da difilcudade
    public string Descricao { get; set; }

    public DateTime DataHoraRegistrado { get; set; }

    public DateTime DataHoraSolucionado { get; set; }

    public bool Solucionado { get; set; }

    public int BairroId { get; set; }
    public Bairro Bairro { get; set; }

    public int CategoriaId { get; set; }
    public Categoria Categoria { get; set; }

    //Usuario no qual fez o registro
    public int UsuarioId { get; set; }
    public Usuario Usuario { get; set; }
 }

这是我的要求Postman

1 个答案:

答案 0 :(得分:4)

您的操作接受单个对象。你正在发送它们的数组。

所以你需要发送类似的东西:

import tkinter as tk

# --- constants ---

DISPLAY_WIDTH = 800
DISPLAY_HEIGHT = 600

CENTER_X = DISPLAY_WIDTH//2
CENTER_Y = DISPLAY_HEIGHT//2

# --- functions ---

# for smooth move of platform

def up_press(event):
    global platform_up
    platform_up = True

def up_release(event):
    global platform_up
    platform_up = False

def down_press(event):
    global platform_down
    platform_down = True

def down_release(event):
    global platform_down
    platform_down = False

def eventloop():

    # move platform
    if platform_up:
        # move
        canvas.move(platform, 0, -20)
        # check if not leave canvas
        x1, y1, x2, y2 = canvas.coords(platform)
        if y1 < 0:
            # move back
            canvas.move(platform, 0, 0-y1)
    if platform_down:
        # move
        canvas.move(platform, 0, 20)
        # check if not leave canvas
        x1, y1, x2, y2 = canvas.coords(platform)
        if y2 > DISPLAY_HEIGHT:
            # move back
            canvas.move(platform, 0, -(y2-DISPLAY_HEIGHT))

    root.after(25, eventloop)

# --- main ---

# - init -

root = tk.Tk()

canvas = tk.Canvas(root, width=DISPLAY_WIDTH, height=DISPLAY_HEIGHT)
canvas.pack()

# - objects -

platform = canvas.create_rectangle(CENTER_X-15, CENTER_Y-15, CENTER_X+15, CENTER_Y+15, fill="green")

platform_up = False
platform_down = False

root.bind('<Up>', up_press)
root.bind('<KeyRelease-Up>', up_release)
root.bind('<Down>', down_press)
root.bind('<KeyRelease-Down>', down_release)

# - mainloop -

root.after(25, eventloop)
root.mainloop()

而不是:

{ "id":1, "namePessoa": "Something"... }

如果您想要接收一组对象,则需要更改控制器操作:

[{ "id":1, "namePessoa": "Something"... }]