On Sat, 28 Sep 2019 14:03:51 GMT, Vitaly Livshic wrote:

(...)
But if I use more convinient form, then compiler produces an error:

public void postUser(User user)

../../../../.dub/packages/vibe-d-0.8.5/vibe-d/web/vibe/web/common.d(889,29): Error: template vibe.web.common.readFormParamRec cannot deduce function from argument types !()(HTTPServerRequest, string, string, bool, NestedNameStyle, ParamError), candidates are:
(...)

What I must to do to use public void postUser(User user) instead of individual parts of struct?

I will be grateful for both the documentation and for the advice.

I tried to reproduce the error, but it works for me both for vibe.d 0.8.5 and 0.8.6. Which compiler and compiler version are you using?

For this to work properly, in the HTML form, you should use "user_id", "user_family" etc. as field names. By annotating UserController with @nestedNameStyle(NestedNameStyle.d) you can also switch this to "user.id".