我正在使用visual studio开发一个web api,我的post api应该读取body中的值并从数据库中返回一个数组,但是我得到了标题中列出的错误。
这是我的代码:
[HttpPost]
public IHttpActionResult getsub([FromBody] JObject data)
{
using (GaminBrainEntities entities = new GaminBrainEntities())
{
JValue id = data.SelectToken("pk");
return Ok(entities.SP_Brands_Get_By_Category(id).ToArray);
}
}
如何更改代码以修复错误?
答案 0 :(得分:0)
返回类型的SelectToken方法是JToken,并且它没有从JToken隐式转换为JValue,因此编译器会抛出此错误,因此将id的类型更改为JToken然后编译器会很高兴。
version: '2'
services:
db:
container_name: test
restart: unless-stopped
image: mysql:5.7
command: --innodb_use_native_aio=0
environment:
MYSQL_ROOT_PASSWORD: 'password'
MYSQL_DATABASE: 'mydb'
ports:
- 6612:3306
volumes:
- ./db:/var/lib/mysql
并且你的return语句抛出错误因为ToArray是方法所以你必须用括号写ToArray()这将解决你的另一个错误。如果你的id是整数值,那么首先将它转换为整数然后传递给存储过程
JToken id = data.SelectToken("");