我有一个现有的WebApi动作,我想从HttpPost切换到HttpGet.它目前需要一个复杂的对象作为参数.
该模型:
public class BarRequest
{
[JsonProperty("catid")]
public int CategoryId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
控制器:
public class FooController : ApiController
{
//[HttpPost]
[HttpGet]
[ActionName("bar")]
public void Bar([FromUri] BarRequest request)
{
if (request != null)
{
// CategoryId should be 123, not 0
Debug.WriteLine("Category ID :: {0}", request.CategoryId);
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在当我发送以下请求时,一切都按预期工作.
GET /foo/bar?CategoryId=123
Run Code Online (Sandbox Code Playgroud)
旧的POST请求也按预期工作.
POST /foo/bar {"catid":123}
Run Code Online (Sandbox Code Playgroud)
但现在我需要以下请求才能工作:
GET /foo/bar?catid=123
Run Code Online (Sandbox Code Playgroud)
我怎么能做到这一点?
图表如下:
gremlin> a = graph.addVertex("name", "alice")
gremlin> b = graph.addVertex("name", "bobby")
gremlin> c = graph.addVertex("name", "cindy")
gremlin> d = graph.addVertex("name", "david")
gremlin> e = graph.addVertex("name", "eliza")
gremlin> a.addEdge("rates",b,"tag","ruby","value",9)
gremlin> b.addEdge("rates",c,"tag","ruby","value",8)
gremlin> c.addEdge("rates",d,"tag","ruby","value",7)
gremlin> d.addEdge("rates",e,"tag","ruby","value",6)
gremlin> e.addEdge("rates",a,"tag","java","value",10)
Run Code Online (Sandbox Code Playgroud)
我有3个脚本:
脚本#1
gremlin> g.V().has('name','alice').
repeat(out()).
until(has('name','alice')).
cyclicPath().
path().by('name')`
==>[alice,bobby,cindy,david,eliza,alice]
Run Code Online (Sandbox Code Playgroud)
脚本#2
gremlin> g.V().has('name','alice').
repeat(outE().inV()).
until(has('name','alice')).
cyclicPath().
group().
by('name').
by(path().unfold().has('value').values('value').fold()).
next()
==>alice=[9, 8, 7, 6, 10]
Run Code Online (Sandbox Code Playgroud)
脚本#3
gremlin> g.V().has('name','alice').
repeat(outE().inV()).
until(has('name','alice')).
cyclicPath().
group().
by('name').
by(path().unfold().has('value').values('value').fold()).
next().collect { k, v ->
k + '=' + v.withIndex().collect { …Run Code Online (Sandbox Code Playgroud)