Ajax request or in place editing or UI or wrapper service or any other place. For all I'm saying, if user do wants to set null for non-pk then she can do that with previous version of service. With this updated version of service implemented in this ticket from all these places user can not set the null value.
Many times service user or end user requires to set null values for a field intentionally. And if service is not allowing user to do that then she has only one option to use delegator directly or may be write separate service to do that.
Previouse version of service may have some problem which should be discussed and fixed. But the new version of service implemented here would increase the problem using itself (service). With previous version was flexible enough to take care of both scenario and with new version user has no option to handle the null case.
Also angular js, in-place editing, client side implementation can easily add client side restriction. I'll check what goes wrong with Ajax/in-line/in-place/angular js if we use older version.
My general understanding goes with older version of service for all the possible cases I could think of to update a record using service. If that version has some problem, then the solution provided here is not correct and increasing the complexity of the service IMO.
See what others in the community has to say on this. Atleast I'm not in favor of this fix.