Uploading image to a node via Angular to Drupal 8 using REST I have figured out how to upload files from Angular to Drupal 8

......
submitCommunity: function(params) {
  var package = {
    "_links":{"type":{"href":"http://dang.dev:8888/rest/type/file/file"}},
    "filename":[{"value":Math.round((Math.random()*1000)).toString() + '.jpg'}],
    "filemime":[{"value":"image/jpeg"}],
    "data":[{"value":params.bannerImage}] //params.bannerImage = B64 encoded string of the image
  };
  $http.post('http://dang.dev:8888/entity/file', package, config).then(function(response) {
    var fileId = response.headers().id; // the file ID of the newly created file entity.
  });
},
......


My question is, what if I have a content type that has an image field in it? Specifically, my content type is of type community and contains a field called field_banner_image. Below is what I have now, however, it produces 422 Unprocessable entity with a response of: 

{"error":"Unprocessable Entity: validation failed. field_banner_image: This value should not be null."}

field_banner_image is required hence the error, but I have no idea what field_banner_image expects me to send it.

.....
submitCommunity: function(params) {
  var package = {
    "_links":{"type":{"href":"http://dang.dev:8888/rest/type/file/file"}},
    "filename":[{"value":Math.round((Math.random()*1000)).toString() + '.jpg'}],
    "filemime":[{"value":"image/jpeg"}],
    "data":[{"value":params.bannerImage}] //params.bannerImage = B64 encoded string of the image
  };
  $http.post('http://dang.dev:8888/entity/file', package, config).then(function(response) {
    var fileId = response.headers().id;
    package = {
      _links: {'type':{'href':'http://dang.dev:8888/rest/type/node/community'}},
      type: [{'target_id': 'community'}],
      title: [{'value': params.title}],
      body: [{'value': params.body}],
      field_banner_image:[{'value': fileId}]
    }
    return $http.post('http://dang.dev:8888/entity/node?_format=hal_json', package, config);
  });
},
.....


I've tried field_banner_image:[{'fid': fileId}] and some other combos of key values, but I think I am attacking this wrong. Documentation on this is kind of sparse right now and a lot of it is old D8 beta stuff. Any Ideas?
ImageItem and FileItem are represented as entity references. The ImageItem has the following schema: target_id, alt, title, width, and height.

Only the target_id column is a required property, which can be seen through ImageItem::propertyDefinitions > FileItem::propertyDefinitions >  FieldReferenceItem::propertyDefinitions parent method.

The field should be represented similar to the type property, which also is an entity reference.